技术面试指南

模式

经验

之前在哪里工作,主要用PHP做什么样的工作,平时有开发一些什么项目,有开源项目吗?

广度

熟悉PHP的哪些框架,除了用PHP之外,还接触过什么,用什么,做过什么?

对WEB安全的认识?

之前做过的项目的运行环境,平时自己的开发环境

对高性能WEB架构的了解情况(缓存的认识)

对MySQL熟悉情况,慢查询查找和解决

深度

PHP版本、LAMP/LNMP、性能调优、阅读源代码(开源项目源代码、PHP源代码)

分库表怎么做,主从同步、负载均衡

如果让你设计一张表结构,你会如何设计

思想

解决问题的方法和思路

深度的问题

一个用户在浏览器上输入URL开始,到页面最终展示完成,其中都经历了哪些过程?

用户反馈你的网站打开太慢,请列出所有可能性和排查方法

原文

1、工作经验
最近这次今年2月才入职,现在就要跳,为什么?

这几年来,自己做过的项目,觉得最满意的是什么,怎么做的,为什么?

这些年的项目团队管理过程中,管理多少人的项目团队,人员分配是怎样的,有什么心得体会,遇到过最棘手的问题是什么,怎么处理的?

2、技术方面
负责过项目的每天流量情况?架构是怎样的?

网站负载均衡用的是什么方案?有遇到什么坑吗?怎么解决的?

数据库主从怎么考量,怎么维护?有遇到过什么坑吗?怎么解决的?

有使用过什么缓存方案?对缓存好坏的指标,如何定义?Web过程中,有哪些缓存,是如何理解的?

Web安全,有做过哪些考量?有遇到过安全问题吗?怎么解决的?有遇到过慢查询问题吗?处理的过程是如何的?

3、个人能力和成长
除了LAMP/LNMP之外,还接触过什么?

有什么开源项目吗?Github有账号吗?

4、开放性问题
一个用户在浏览器上输入URL开始,到页面最终展示完成,其中都经历了哪些过程?

用户反映你的网站打开太慢,请列出所有可能性和排查方法

我一般,会从项目入手,通过项目,然后看技术,问下他熟悉的技术,是否研究透彻还是皮毛。开源问下,自我学习方法,等。一般关注点:1. 沟通交流是否顺畅,如果全部答非所问,基本PASS。2. 技术是否停留在用阶段,是否有继续深入学习,自我学习管理方法。3. 技术深入,肯定面就广,这时可以问面的问题,比如ANDROID是否有接触过jni、源码、开源项目源码等这类,设计模式如果觉得水平够,也会问,一般单例或者工厂,简单。4.基本上面如果顺畅的话,三官正不正,稳定性如何,可能会有最近离职原因、是否有女朋友之类的。以上!