盘点2021年PHP开发工程师遇到的面试题


好长时间没有写技术实战文章了,是因为最近在准备面试,分享一下在2021年找工作中遇到的问题,没有具体到公司名,只有个别公司拿到了offer。有些问题模糊的想不起来了,暂时能想到的就这些。

面试岗位基本都为:3-5年工作经验,纯技术问题。

某房产上市公司广告部门

一面(电面)

主要围绕mysql索引、redis、项目亮点去问的

二面(线下)

考察mysql explain的具体每一列
mysql使用的什么索引?为什么使用B+树索引?B+和B数和二叉树的区别
什么叫索引覆盖
什么情况下回表
事务的ACID特性
事务的隔离级别
redis主从同步怎么做的
怎么找出单向链表中,位于中间的元素
单链表中,如何检查是否有环的情况?比如:1->2->3->4->5->3
一个有序数组,里面是从1到1000000的整数,其中有一个数字出现了两次,如何快读找出那个重复的数字?

三面(电面)

redis主从同步怎么做的
redis cluster哨兵模式的了解
redis队列什么时候会跳表
mysql hash索引与b+的区别
事务的隔离级别、mvcc的实现原理
hash表底层结构是什么

某P图上市公司广告部门

一面

OSI七层模型
array_column函数的考察
mysql explain的优化
nginx怎么与php的通信的
php-fpm主进程kill -9掉、子进程是否能正常使用
innodb和myisam有什么区别?
mysql主从的生命周期
redis的五中类型实战场景
mysql索引失效的条件
php7的新特性

二面

进程、线程和协程的区别
一个域名解析的生命周期
秒杀的设计与实现
select poll epoll 区别
分销的过程中出现错误怎么处理
主从同步是怎么保证数据性一致的
实现一个单链表的反转1->2->3->4->5

某上市在线教育公司

一面(电面)

PHP的foreach和for两个循环,哪个效率更高,为什么
mysql 聚合索引什么时候使用到
mysql索引失效的条件
redis和memache的区别
laravel中双事物怎么实现的
redis延时队列
git两个分支合并让他的线在一条上
事务的隔离级别、mvcc的实现原理

某房产行业

一面(电面)

秒杀的设计与实现
介绍自己项目的亮点
Explain的优化

二面(线下)

分布式锁、会不会出现死锁,怎么避免
优惠券、膨胀券功能表设计与实现逻辑
砍价以及助力的功能设计与实现
千万级数据表的优化与分表
统计出TCP端口状态是ESTAB的数量
502是什么,为什么会出现,解决方案
Explain的优化
如果用户表已达到1000w的规则,且日均增长5w,如何优化该表
jwt与oauth2区别

三面(电面)

聊一下自己项目有亮点的实例
讲讲mysql优化方面(从建表到各种场景,怎么解决的)
redis五种数据类型都是做什么的,对比他们的区别,使用场景
分布式锁
数据库分表有哪种方式
水平分表有哪几种维度分表,每一个的优点和缺点
如何对比两个文件的内容是否一样

某保姆行业

一面

设计一个登录系统(用到的设计模式、封装的类)
502是什么,为什么会出现,解决方案
一个500w行的文件,每行是一个url,读取url内容找到所有a标签里面的href内容,并存到库里。写一下整个流程
短链接的实现方法与设计
日常使用到的设计模式以及场景
Explain的优化
https ssl的工作流程

二面

trait类的作用以及是干什么的
单元测试
大多数聊的都是业务场景
如何开发的composer包,流程说一下
Explain的优化

参考答案

大部分问题可以自行百度去学习,就不一一列举答案了
个人的博客文章
PHPer面试2021
martist的看云地址

martist是我工作中的领导,生活中的哥哥,给予了我很多帮助与鼓励,martist目前在百度工作,有需要内推的可以csdn私信我,帮你们牵线


文章作者: WXiangQian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 WXiangQian !
 上一篇
新手入门golang开发的注意事项 新手入门golang开发的注意事项
应用程序入口 必须是 main 包:package main 必须是 main ⽅法:func main() ⽂件名不⼀定是 main.go 退出返回值与其他主要编程语⾔的差异 Go 中 main 函数不⽀持任何返回值 通过 os.Ex
2021-07-05
下一篇 
Linux下centos配置网卡ip地址、网关、DNS信息 Linux下centos配置网卡ip地址、网关、DNS信息
查看网卡信息ifconfig ip地址为:192.168.18.200,网关为:255.255.255.0 修改网卡信息切换到指定目录下 cd /etc/sysconfig/network-scripts/ ls寻找自己的网卡信息,
2021-05-26
  目录