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

某房chan上市公司广告部门

一面(电面)

  • 主要围绕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

某上市zai xian jiao yu公司

一面(电面)

  • 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的优化

18363a7d7800470f8cef3e31ab04eda3.png

原文地址:https://www.cnblogs.com/lxwphp/p/15847759.html