专业程度体现在对PHP的基本功的掌握和一些进阶知识的了解,比如对常见性能点、不同版本特性等,session的实现机制、include/require的差异,进一步的主流框架掌握程度、常见的性能优化策略、其作为脚本语言所具备的一些特性、如何规避PHP的性能劣势打造高并发的系统、如何保证高并发下的可用性和数据完整性等等。
周边知识主要会包括MySQL性能优化、Memcache使用、Nginx/Apache的配合、对于PV/Click等数据收集和观察的方法等。 同样的,利用curl/socket操作http/tcp/udp,进一步的RPC调用(Web Service/JSONP/Thrift等)的前后端实现,进一步的包括更多的Cache策略(远近、一致性哈希、数据一致性)、对Sharding即分库分表之类操作的了解、更多NoSQL产品知识、各类常见协议细节、安全性(注入和旁注、跨站和CC)等。
0.简单做一下自我介绍,? 然后谈一下近三年来你的得意之作?
1.看看简历,会问一些过去做的项目的用户量、pv、吞吐量、相关难点和解决方法等
2.数据库设计经验,为什么进行分表? 分库?
一般多少数据量开始分表? 分库? 分库分表的目的? 什么是数据库垂直拆分? 水平拆分? 分区等等?可以举例说明
3.数据库优化有哪些? 分别需要注意什么?
4.web开发方面会遇到哪些缓存? 分别如何优化?
5.给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现?
对10G的文件进行查找如何实现?
统计10G文件每个关键字出现的次数如何实现?
6.假如你现在是12306火车订票的设计师,你该如何设计满足全国人民订票?
7.假如有1亿用户的访问量,你的服务器架构是怎样的? 用户信息的存储方案如何设计?
8.如果你是技术组长,所带团队任务进度无法完成你该如何解决?
如果在进度排满的前提下插入任务,你该如何保证总进度不延期?
如果有的工程师今天预定任务没有完成,你该如何解决?
9.从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?
10.为什么要对数据库进行主从分离?
11.如何处理多服务器共享session?
12.一个10G的表,你用php程序统计某个字段出现的次数,思路是?
13.会告诉你一个nginx日志例子,用你认为最佳的编程语言统计一下http响应时间超过1秒的前10个url?
14.给你一个mysql配置文件,用你认为最佳的编程语言解析该文件?
15.给你两个路径a和b,写一个算法或思路计算a和b差距几层并显示a和b的交集?
16.给你一个url,在nginx配置一下rewrite指定到某个具体路径?
17.一个php文件的解释过程是? 一般加速php有哪些? 提高php整体性能会用到哪些技术?
18.session和cookie生存周期区别? 存储位置区别?
19.require、include、require_once、include_once区别? 加载区别? 如果程序按需加载某个php文件你如何实现?
20.chrome号称为多线程的,所以多线程和多进程的区别为?
21.php在2011年底出现hash碰撞,hash碰撞原理为? 如何进行修复?
22.web不安全因素有哪些? 分别如何防范?
23.假如两个单链表相交,写一个最优算法计算交点位置,说思路也可以?
24.假如你是技术组长? 如何提高团队效率?
25.nginx负载均衡有哪些? 如果其中一台服务器挂掉,报警机制如何实现?
26.不优化前提下,apache一般最大连接数为? nginx一般最大连接数为? mysql 每秒insert ? select ? update ? delete?
27.mysql 数据类型有哪些 ? 分别占用多少存储空间 ?
28.nginx设置缓存js、css、图片等信息,缓存的实现原理是?
29.如何提高缓存命中率? 如何对缓存进行颗粒化?
30.php的内存回收机制是?
31.我的所有问题都问完了,你有什么问题问我没有?
32.请使用shell命令获取a文件的前10行与后10行的数据,将其放进b文件中。
33.如何设计安全的php程序,可以防止SQL攻击。
34.这里有一个sql语句,select id from table where a=? order by b,请你就句子判断,建立索引,使其能够在innodb和myisam引擎下,查询效果都可以加快。
35.有一天,突然有一个用户投诉,说网页打不开,你该如何进行排查?
36.何对一个亿级数据的表按照一个没有索引的字段进行统计