PHP助理工程师的面试题
PHP高级工程师的面试题
1. 基本知识点
- HTTP协议中几个状态码的含义:503 500 401 200 301 302。。。
- Include require include_once require_once 的区别.
- PHP/Mysql中几个版本的进化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改进等等。
- HEREDOC介绍
- 写出一些php魔幻方法;
- 一些编译php时的configure 参数
- 向php传入参数的两种方法。
- (mysql)请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别;
- error_reporting 等调试函数使用
- 您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?
- posix和perl标准的正则表达式区别;
- Safe_mode 打开后哪些地方受限.
- 写代码来解决多进程/线程同时读写一个文件的问题。
- 写一段上传文件的代码。
- Mysql 的存储引擎,myisam和innodb的区别。
2. web 架构,安全,项目经验
- 介绍xdebug,apc,eAccelerator,Xcache,Zend opt的使用经验。
- 使用mod_rewrite,在服务器上没有/archivers/567.html这个物理文件时,重定向到index.php?id=567 ,请先打开mod_rewrite.
- MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
- 写出一种排序算法(原理),并说出优化它的方法。
- 请简单阐述您最得意的开发之作
- 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题
- 您是否用过模板引擎? 如果有您用的模板引擎的名字是?
- 请介绍Session的原理,大型网站中Session方面应注意什么?
- 测试php性能和mysql数据库性能的工具,和找出瓶颈的方法。
- 正则提出一个网页中的所有链接.
- 介绍一下常见的SSO(单点登陆)方案(比如dedecms整合discuz的passport)的原理。
- 您写过的PHP框架的特点,主要解决什么问题,与其他框架的不同点。
- 大型的论坛/新闻文章系统/SNS网站在性能优化上有什么区别?
- 相册类应用:要求在浏览器中能同时选中并上传多个文件,图片要求能剪裁,压缩包在服务器端解压。能上传单个达50M的文件。上传过程中有进度条显示。每个图片能生成四种大小缩略图,视频文件要转成flv供flash播放。叙述要涉及的各类开源软件和简单用途。
- 一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它 踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。用程序模拟该过程。
3. unix/linux 基本使用
- linux下查看当前系统负载信息的一些方法。
- vim的基本快捷键。
- ssh 安全增强方法;密码方式和rsa key 方式的配置。
- rpm/apt/yum/ports 装包,查询,删除的基本命令。
- Makefile的基本格式,gcc 编译,连接的命令,-O0 和-O3区别。
- gdb,strace,valgrind的基本使用.
4. 前端,HTML,JS
- css盒模型。
- javascript中的prototype。
- javascript中this对象的作用域。
- IE和firefox事件冒泡的不同。
- 什么是怪异模式,标准模式,近标准模式。
- DTD的定义
- IE/firefox常用hack.
- firefox,IE下的前端js/css调试工具。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

Navicat本身不存储数据库密码,只能找回加密后的密码。解决办法:1. 检查密码管理器;2. 检查Navicat的“记住密码”功能;3. 重置数据库密码;4. 联系数据库管理员。

使用 Navicat Premium 创建数据库:连接到数据库服务器并输入连接参数。右键单击服务器并选择“创建数据库”。输入新数据库的名称和指定字符集和排序规则。连接到新数据库并在“对象浏览器”中创建表。右键单击表并选择“插入数据”来插入数据。

在 Navicat 中执行 SQL 的步骤:连接到数据库。创建 SQL 编辑器窗口。编写 SQL 查询或脚本。单击“运行”按钮执行查询或脚本。查看结果(如果执行查询的话)。

可在 Navicat 中通过以下步骤新建 MySQL 连接:打开应用程序并选择“新建连接”(Ctrl N)。选择“MySQL”作为连接类型。输入主机名/IP 地址、端口、用户名和密码。(可选)配置高级选项。保存连接并输入连接名称。

Navicat 无法连接数据库的常见原因及其解决方法:1. 检查服务器运行状态;2. 核对连接信息;3. 调整防火墙设置;4. 配置远程访问;5. 排除网络问题;6. 检查权限;7. 保障版本兼容性;8. 排除其他可能性。

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

使用 Navicat 连接本地 MySQL 数据库的步骤:创建连接,并设置连接名称、主机、端口、用户名、密码。测试连接,确保参数正确。保存连接。从连接列表中选择新连接。双击要连接的数据库。
