PHP面试题(综合考察基础、进阶、前端、服务器、数据库等)
匿名网友
发布于: 2015-12-03 00:00:00
阅读 193
收藏 0
点赞 0
评论 0
基础部分
- Session和Cookie的工作原理,使用时要注意什么?
- 如何取出数组最后一个值? 3.请写一个函数,实现以下功能: 字符串 “open_door” 转换成 “OpenDoor” 、 “make_by_id” 转换成 “MakeById”。
- array_key_exists和isset区别是什么?
- What is the best all-purpose way of comparing two strings?
- A. Using the strpos function
- B. Using the == operator
- C. Using strcasecmp()
- D. Using strcmp()
- 写出中文字符串截取的方法
- 如何实现一个严格的30秒过期的会话?
- 请写一段 PHP 代码,确保多个进程同时写入同一个文件成功
- 日志文件处理 有文件access.log,内容如下: {% highlight bash %} http://www.test.com/index.htmlhttp://www.test.com/1.html http://js.test.com/2.html http://css.test.com/index.html http://www.test.com/3.htmlhttp://post.test.com/2.html http://post.test.com/1.html {% endhighlight %} 现在需要将域名取出并进行计数排序,处理得到如下结果: {% highlight bash %} 3 www.test.com 2 post.test.com 1 css.test.com 1 js.test.com {% endhighlight %} 可以使用bash/php/python等语言
- 写一个二分查找的方法。
- 设计模式(挑选两个,比如工厂、单例讲讲)。
进阶部分
- 谈谈用过的框架,路由、设计规则、数据层包装、视图层、可扩展等
- 缓存系统(memcache、redis、文件缓存、apc等各类缓存)的理解
- 对于分布式的生产环境与单机环境的区别及遇到的问题。
- 对分布式队列服务的理解。
- 描述工厂方法,抽象工厂与简单工厂的差异?
数据库部分
- 写一段代码连接到数据库。
- MyISAM与InnoDB索引的区别,还有哪些索引方式?
- 优化查询的过程是怎么样的?
服务器
- 常用工具: vim,grep,sed,awk,wget, curl,yum,apt-get
- nginx与apache的区别是什么?
- 一台完整的单机生产环境可能包括哪些内容?
- 常见的502错误可能有哪些原因?
- 多台服务器如何收集每台服务器上的日志?
- 如何理解负载均衡?
前端部分
- js命名空间的作用?是否用过jslint?是否写过jQuery plugin?
- jQuery如何选定一个dom进行操作,列举几个常用的操作有哪些?
- 变量的作用域如何理解?下面这段脚本会输出什么? {% highlight javascript %} var i = 10; function a(){ alert(i); var i = 2; alert(i); } {% endhighlight %}
- 如何理解模块化开发,有哪些规范和实现方案,它们之间有什么区别?
- 使用过哪些前端开发的工具,包括编译压缩优化等方面
扩展部分
- 当程序出现性能瓶颈时,你是如何定位解决的?用到过哪些工具?
- 给你10台服务器,你会怎样规划系统架构?100台呢?
- 了解哪些中间层服务?
评论列表