趁着脑子里面的面试题记忆还鲜活,针对2-3年经验的PHPer的面试题。
-
网络基础
1) 从浏览器输入网址到页面展示有一个怎样的过程?
且由此衍生:
a.nginx在其中起到的作用
b.php-fpm起到怎样的作用2) 三次握手(回答出来了还会有一个四次解绑)
3)http code码(2xx,3xx,4xx,5xx分别代表什么意思)
4)网络的常见攻击,怎样防止(sql攻击,xss,csrf等)
-
数据库,以常用的mysql为主
1)常用的数据库有哪些2)常用的引擎有哪些(innodb myisam)
由此衍生出:
a. innodb 和 Myisam之间的区别和联系
b. innodb相较于myisam有什么优势
c.innodb可以使用事务,那么数据的存储方式是怎样的
b. 了解行锁和表锁么,innodb和myisam哪个是行锁哪个是表锁 -
缓存
1)常用的缓存类型(redis和memcache)
由此衍生:
a. redis和memcache之间的区别
b.两种缓存的应用场景
c.redis常用的有几种类型,这几种类型的经典应用场景有哪些
d.redis的一个常用的命令,例如:get,set,incr之类
e.一般会出一个题目,例如我统计在线人数等等,可以用怎样的方式,另外常问的还有秒杀的场景,以及,储存热点数据怎样操作。
f. redis的队列
g.redis的锁机制2)缓存的应用场景,什么样的情况下会用到缓存
3)实际项目的应用中,哪里运用到了缓存
-
PHP
1)PHP5和PHP7之间的区别(PHP7相较于PHP5有什么优势)2)写出PHP常用的数组函数,有什么意思,使用场景
3)根据心情举一个例子,看你知不知道该函数的意思
4)几种常用的设计模式,可以手写一个单例模式或者工厂模式
5)现在正在用什么样子的框架,他的优势是什么
6)了解下swoole
-
其他
1)linux常用的命令
要查找某一个文件
要查找某个文件中含有某个字段的地方(aaa,等)
查看内存占用情况2) 基本的运维知识,例如上线出问题了第一步应该怎么做,在线上机器有进行过什么操作
3) 是否了解docker,怎样应用,这是一个怎样的东西
4)有了解其他的语言么
5)关于压测,使用的压测工具,pv uv代表什么意思。
**有时间的话会补充答案**