一面(约1h)
- 在面对未知的流量暴增,能够预先怎么处理
- 如何限流,限流算法,对于ddos攻击怎么处理
- PHP数组的底层实现
- 分布式事务
- RPC相对于传统的API调用的优势
- 服务调度中心的感知与动态上下线
- MySQL的索引,为何是B+而不是平衡二叉树
- 索引查找在Linux的磁盘上是怎么操做的
- 聚簇索引相对于B+索引的优势
- 如何分析SQL执行慢的缘由
- Redis链接时的connect与pconnect的区别
- Redis有哪些结构时间复杂度较高
- Redis hash的实现
- 算法题: 在1个10G大小的文件中,存储的都是int型的数据,如何在内存使用小于8M的状况下进行排序
- 设计题: 以微博为例,有1个亿的用户,同时用户之间有关注和粉丝,用户的关注和取关操做比较频繁,如何设计架构和API接口
二面(约1.5h)
二面主要以本身的项目为切入点,进一步考察你对项目中知识点的把握程度,我这里是以一个 本身撸的小项目 进程管理工具 为项目背景nginx
- 守护进程是什么,怎么实现
- PHP是否适合作守护进程,为何(内存管理这一块)
- PHP的垃圾回收机制
- 进程间通讯方式
- 共享内存是怎么实现的
- 怎么查看Linux服务器的负载,及判断哪些操做引发的负载太高
- MySQL的IO太高怎么优化,分库分表及分区
- MySQL的索引结构,myisam的索引结构, innodb的索引结构,innodb为何必需要有主键索引
- 添加索引,为何能够减小io操做(磁盘页)
- nginx的负载均衡算法
- 算法题: 忘了
- 算法题:查找一个字符串中最长的无重复字串
上面是我基本还记得的一些题目,考察的力度相对比较深,因此,请选择一个本身比较熟悉的项目,由于面试官是会剖析到底层的git
三面(约0.6h)
三面与二面的内容差很少,没有更深的问题,可是,须要注重细节,同时三面面试官有时间会放烟雾弹,坚决本身的立场就好github
- 面试题: 在一个横向和纵向都是递增的有界二维坐标轴中,如何快速判断某个数是否存在于这个二维坐标中
- 面试题:设计一个定时任务管理器(从我同事那打听到的,我只有上面一个算法题)
Hr面(约0.5h)
hr小姐姐:你有什么心仪的公司吗面试
我: 大厂,相似于BAT这种算法
hr小姐姐:为何呢?数组
我: 我感受 阿里的架构不错,微博鸟哥待过,技术架构确定吊吊的。。。安全
hr小姐姐:你跟我在北京面的其余候选人都不太同样啊,他们都不屑于去这些公司,感受想进就进,他们比较倾向于滴滴,头条这些年轻,发展比较快速的公司服务器
我:卒。。。(毕竟我毕业才一年半啊-_-,校招还由于本身不在乎,完美错过了全部大厂的招聘)架构
总结
头条面试,算法是必考项,可是面试官都是让我给出思路,也没写多少行代码负载均衡
涉猎范围通常,基本就是Redis MySQL ,Nginx比较少,可能配置简单吧
深度较深,不多人会去关注PHP的垃圾回收,何为垃圾,线程安全,array的HashTable实现这些内容, Redis Hash表等
分界线
须要内推的能够私我哈