PHP面试题(综合考察基础、进阶、前端、服务器、数据库等)

匿名网友 匿名网友 发布于: 2015-12-03 00:00:00
阅读 193 收藏 0 点赞 0 评论 0

基础部分

  1. Session和Cookie的工作原理,使用时要注意什么?
  2. 如何取出数组最后一个值? 3.请写一个函数,实现以下功能: 字符串 “open_door” 转换成 “OpenDoor” 、 “make_by_id” 转换成 “MakeById”。
  3. array_key_exists和isset区别是什么?
  4. 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()
  5. 写出中文字符串截取的方法
  6. 如何实现一个严格的30秒过期的会话?
  7. 请写一段 PHP 代码,确保多个进程同时写入同一个文件成功
  8. 日志文件处理 有文件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等语言
  9. 写一个二分查找的方法。
  10. 设计模式(挑选两个,比如工厂、单例讲讲)。

进阶部分

  1. 谈谈用过的框架,路由、设计规则、数据层包装、视图层、可扩展等
  2. 缓存系统(memcache、redis、文件缓存、apc等各类缓存)的理解
  3. 对于分布式的生产环境与单机环境的区别及遇到的问题。
  4. 对分布式队列服务的理解。
  5. 描述工厂方法,抽象工厂与简单工厂的差异?

数据库部分

  1. 写一段代码连接到数据库。
  2. MyISAM与InnoDB索引的区别,还有哪些索引方式?
  3. 优化查询的过程是怎么样的?

服务器

  1. 常用工具: vim,grep,sed,awk,wget, curl,yum,apt-get
  2. nginx与apache的区别是什么?
  3. 一台完整的单机生产环境可能包括哪些内容?
  4. 常见的502错误可能有哪些原因?
  5. 多台服务器如何收集每台服务器上的日志?
  6. 如何理解负载均衡?

前端部分

  1. js命名空间的作用?是否用过jslint?是否写过jQuery plugin?
  2. jQuery如何选定一个dom进行操作,列举几个常用的操作有哪些?
  3. 变量的作用域如何理解?下面这段脚本会输出什么? {% highlight javascript %} var i = 10; function a(){ alert(i); var i = 2; alert(i); } {% endhighlight %}
  4. 如何理解模块化开发,有哪些规范和实现方案,它们之间有什么区别?
  5. 使用过哪些前端开发的工具,包括编译压缩优化等方面

扩展部分

  1. 当程序出现性能瓶颈时,你是如何定位解决的?用到过哪些工具?
  2. 给你10台服务器,你会怎样规划系统架构?100台呢?
  3. 了解哪些中间层服务?

评论列表
文章目录