Skip to content

Latest commit

 

History

History
33 lines (27 loc) · 2.88 KB

2018春招面试.md

File metadata and controls

33 lines (27 loc) · 2.88 KB

3月7号,找人内推的过后,hr就打电话约第二天下午三天面试,第二天我2点10左右就到了,滴滴的办公楼管理比较严格,大厅内有门禁, 给hr打完电话后一会儿就下来了面试官来接我,接着就开始一面:

1.自我介绍一下 2.限流问题,如果10分钟内有1000个请求,出现这1000个请求在第10分钟的某一时刻同时过来,服务端如何处理保证这1000个请求均匀分布 3.写一段shell脚本,统计一下nginx日志,分别在某个时间段内间隔2分钟的请求次数 4.写个排序算法代码 5.说说mysql innodb的事务处理机制 6.innodb 索引的数据结构是啥? (b-tree) 画一下b-tree的结构 (这个平时很少会用到,大学里面学过,但是因为之前一直都是做业务开发,基本用 不到,所以也没答出来,给圆过去了) 7.结合简历上做过的项目,扩展问题,分布式redis集群,并发问题 8.假如让你设计微信朋友圈的点赞,怎么设计 9.写个单例模式

一面好几个问题没答上来,但是也表达了自己的擅长的地方,并表示之前待的小公司,可能大流量处理,分布式集群这一块比较薄弱一点,然后一面 就结束了,接着就是二面:

1.一般fpm运行在什么模式下 static (由于研究过php内核,看过fpm的源码,还算比较熟悉,于是一下子就答出来了) 2.worker进程发生内存泄露怎么半 (可以设置最大fpm数,达到最大请求数后进程退出重启) 3.fpm 设置最大请求数,进程频繁退出,然后重启对系统有什么影响 (听到这个问题还是比较震惊的,之前没想过这个问题,于是回答,一般最大 请求数都设置的比较大的,不会出现进程的频繁退出重启) 4.php扩展的四个钩子函数 m_init m_request m_request_shutdown ,假设有10个请求,这几个函数分别执行了多少次 (这个问题就比较简单了, 稍微了解一下php 扩展就知道分别是1 10 10) 5.用过composer么? (用过) 有什么优化技巧? (.....有点懵,之前的确没关注过) 5.写段代码,数组a [1,0,2,0,0,3,0] 要求在该数组上操作,将该数组变成[1,2,3,0,0,0,0] (想了几分钟,写好了,给面试官看了下, 然后面试官说有没有效率更高的写法,想了半天,没想出来)

然后二面就悲剧的over掉了,感觉二面的面试官好像有点不耐烦,面试全程态度挺冷冰冰的,一直拉着个脸 总结一下失败原因: 1.没有大流量处理经验(这个没办法,实在没有大厂的经验,接触不到高并发,大流量啊) 2.基础算法这块面试之前没有准备,因为平时也基本很少会用到,真要在面试时一下子给写出来,还是有难度的,所以,广大面试的同胞,要去大厂 面试,还是得准备准备基本的算法,要能快速的实现基本的算法