点击上方“ 码农编程进阶笔记 ”,选择“置顶或者星标

文末有干货,每天定时与您相约!

涨见识| 字节PHP/Golang社招面经[通俗易懂]

一面(约1h)

  • 在面对未知的流量暴增,可以预先怎么处理

  • 如何限流,限流算法,对于ddos攻击怎么处理

  • PHP数组的底层实现

  • 分布式事务

  • RPC相对于传统的API调用的优点

  • 服务调度中心的感知与动态上下线

  • MySQL的索引,为什么是B+而不是平衡二叉树

  • 索引查找在Linux的磁盘上是怎么操作的

  • 聚簇索引相对于B+索引的优点

  • 如何分析SQL执行慢的原因

  • Redis连接时的connect与pconnect的区别

  • Redis有哪些结构时间复杂度较高

  • Redis hash的实现

算法题:在1个10G大小的文件中,存储的都是int型的数据,如何在内存使用小于8M的情况下进行排序
设计题:以微博为例,有1个亿的用户,同时用户之间有关注和粉丝,用户的关注和取关操作比较频繁,如何设计架构和API接口

二面(约1.5h)

二面主要以自己的项目为切入点,进一步考察你对项目中知识点的把握程度,我这里是以一个 自己撸的小项目 进程管理工具 为项目背景

  • 守护进程是什么,怎么实现

  • PHP是否适合做守护进程,为什么(内存管理这一块)

  • PHP的垃圾回收机制

  • 进程间通信方式

  • 共享内存是怎么实现的

  • 怎么查看Linux服务器的负载,及判断哪些操作引起的负载过高

  • MySQL的IO过高怎么优化,分库分表及分区

  • MySQL的索引结构,myisam的索引结构, innodb的索引结构,innodb为什么必须要有主键索引

  • 添加索引,为什么可以减少io操作(磁盘页)

  • nginx的负载均衡算法

算法题:查找一个字符串中最长的无重复字串

上面是我基本还记得的一些题目,考察的力度相对比较深,所以,请选择一个自己比较熟悉的项目,因为面试官是会剖析到底层的

三面(约0.6h)

三面与二面的内容差不多,没有更深的问题,但是,需要注重细节,同时三面面试官有时间会放烟雾弹,坚定自己的立场就好

面试题:在一个横向和纵向都是递增的有界二维坐标轴中,如何快速判断某个数是否存在于这个二维坐标中
面试题:设计一个定时任务管理器(从我同事那打听到的,我只有上面一个算法题)

Hr面(约0.5h)

hr小姐姐:你有什么心仪的公司吗
我:大厂,类似于BAT这种
hr小姐姐:为什么呢?
我:我感觉 阿里的架构不错,微博鸟哥待过,技术架构肯定吊吊的……
hr小姐姐:你跟我在北京面的其他候选人都不太一样啊,他们都不屑于去这些公司,感觉想进就进,他们比较倾向于滴滴,头条这些年轻,发展比较快速的公司
我:卒……

总结

头条面试,算法是必考项,但是面试官都是让我给出思路,也没写多少行代码
涉猎范围一般,基本就是Redis MySQL ,Nginx比较少,可能配置简单吧
深度较深,很少人会去关注PHP的垃圾回收,何为垃圾,线程安全,array的HashTable实现这些内容, Redis Hash表等

涨见识| 字节PHP/Golang社招面经[通俗易懂]

回复关键字[  字节跳动  ]  获取面试题库

往日精选文章

涨见识| 字节PHP/Golang社招面经[通俗易懂]