1、平时喜欢哪些php书籍及博客?
2、js闭包是什么? (定义在一个函数内部的函数;能够读取其他函数内部变量的函数)
(参考:http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html)
3、for与foreach哪个更快? (10W级以上的数组,foreach效率会更高,但对于1W级的数组,还是for效率高)
(参考:https://segmentfault.com/q/1010000009187059)
4、能不能讲一下php执行原理?
5、php加速器有哪些?apc、zend、xcache…能不能讲一下它的加速原理?
name | 解释 |
---|---|
apc | (Alternative PHP Cache)它对php opcode进行缓冲,而不是迫使php在每一次执行的时候都重新解释每一个脚本 |
xcache | 把 PHP 操作码缓存到内存中的 PHP 扩展中,XCache 将避免代价高昂且不必要的花费来重新编译相同的 PHP 代码去交付一个页面 |
Zend Accelerator | 也叫Zend Cache,站在解析和执行的中间,当页面第一次被请求时,Zend 引擎解析了它,而Accelerator 把解析的映象放入内存,然后执行并把信息发送给浏览器 |
Memcache | 守护程序 (memcached) 是一种高性能分布式对象缓存。memcached 的安装位置介于应用程序与数据存储之间,它将把对象保存在 RAM 中。每次缓存命中将替换到数据库服务器的一次往返,使应用程序运行得更快。非常适合访问量大的网站使用 |
6、Node.js是否能彻底代替php+apache。
Tomcat 最好跟 Java 配合,Apache 通常跟 PHP 配合,但也不排除能跟 Node.js 配合反向代理。跟 Node.js 关系最好的还算是 Nginx。
7、怎样判断一个值是否存在于数组中?
in_array(value,array,type) | 该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与数组的值的类型是否相同,即恒等于。 |
array_key_exists(key,array) | 该函数是判断某个数组array中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false |
array_search(value,array,strict) | 在数组中查找一个键值。如果找到了该值,则返回匹配该元素所对应的键名。如果没找到,则返回 false。注意在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。同样如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名 |
ps :经过实际性能对比,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为性能上的瓶颈。但当数据量比较大的时候,用 array_key_exists 比较合适。据测试 array_key_exist 要比 in_array 效率高十几甚至几十倍。
8、怎样判断select语句中是否使用了索引?
9、sphinx的中文分词词库使用第三方库还是自己建库?
11、mysql与mysqli的区别有哪些?
13、php的面向对象:类的修饰符、封装、继承、多态体现在那些方面
14、php 多态是什么?
15、Type Hinting:http://www.php.net/manual/en/language.oop5.typehinting.php
16、php的设计模式那23种 ?
17、服务器状态码有哪些?
18、i++与++i的区别?
19、项目开发:电商项目中的购物车数据持久化、考试系统的安全性怎么考虑?
20、mysql设计基础:三大范式、功能->思维导图、创建表的第一字段是什么?
21、mysql字段char、varchar、int、smallint、tinyint、mediumint、bigint、decimal、double、float字节数及应用场景。
22、memcache与mongoDB、Redis各自的使用场景是什么?
23、为什么mongoDB与Redis非但没有形成竞争反而是互补关系?
24、Redis数据类型有哪些?int、string、hash、set、list ?
25、安装linux软件时使用make方式还使用yum方式?
26、linux网络优化:查看进程ps -aux|grep mysqld、怎样查看最大文件打开数?
27、C语言中的虚函数是什么?
28、1条微博要推送给100万个粉丝该怎么处理?
29、知道哪些算法?冒泡排序?快速排序?二分查找法?
30、yii thinkphp ci laravel各自优点
31、php 设计模式有哪些?
32、c 排序算法有哪些?
33、php 基本结构是什么?
34、memcache magent 分布式设计?
35、redis 分布式设计,如何设计?
36、mongo 集群架构是怎样的?
37、mysql 索引原理及sql性能优化
38、tcp/ip 网络协议,osi7层指是什么?
39、php 处理大数据业务
40、linux 应用 负载性能查看 ?
41、nginx 实战优化业务功能 ?
42、谈一下近三年来你的得意之作?
43、项目的用户量、pv、吞吐量、相关难点和解决方法有哪些?
44、数据库设计经验,为什么进行分表? 分库?
45、一般多少数据量开始分表? 分库? 分库分表的目的? 什么是数据库垂直拆分? 水平拆分? 分区等等?可以举例说明
46、数据库优化有哪些? 分别需要注意什么?
47、web开发方面会遇到哪些缓存? 分别如何优化?
48、给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现?
49、对10G的文件进行查找如何实现?
50、统计10G文件每个关键字出现的次数如何实现?
51、假如你现在是12306火车订票的设计师,你该如何设计满足全国人民订票?
52、假如有1亿用户的访问量,你的服务器架构是怎样的? 用户信息的存储方案如何设计?
56、从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?
57、为什么要对数据库进行主从分离?
58、如何处理多服务器共享session?
59、一个10G的表,你用php程序统计某个字段出现的次数,思路是?
60、会告诉你一个nginx日志例子,用你认为最佳的编程语言统计一下http响应时间超过1秒的前10个url?
61、给你一个mysql配置文件,用你认为最佳的编程语言解析该文件?
62、给你两个路径a和b,写一个算法或思路计算a和b差距几层并显示a和b的交集?
63、给你一个url,在nginx配置一下rewrite指定到某个具体路径?
64、一个php文件的解释过程是? 一般加速php有哪些? 提高php整体性能会用到哪些技术?
65、session和cookie生存周期区别? 存储位置区别?
66、require、include、require_once、include_once区别? 加载区别? 如果程序按需加载某个php文件你如何实现?
67、chrome号称为多线程的,所以多线程和多进程的区别为?
68、php在2011年底出现hash碰撞,hash碰撞原理为? 如何进行修复?
69、web不安全因素有哪些? 分别如何防范?
70、假如两个单链表相交,写一个最优算法计算交点位置,说思路也可以?
71、 如何程序的执行效率?
72、nginx负载均衡有哪些? 如果其中一台服务器挂掉,报警机制如何实现?
73、不优化前提下,apache一般最大连接数为? nginx一般最大连接数为? mysql 每秒insert ? select ? update ? delete?
74、mysql 数据类型有哪些 ? 分别占用多少存储空间 ?
75、nginx设置缓存js、css、图片等信息,缓存的实现原理是?
76、如何提高缓存命中率? 如何对缓存进行颗粒化?
77、php的内存回收机制是?