上来先简单说一下面试流程,解决部分小伙伴的第一个问题(猜中了吗?)
1、投简历(内推、BOSS、拉钩...)
(备注:能内推就内推!约面概率能提升百分之1000!,其他渠道简历容易石沉大海,我的面试机会就是singwa老师推荐的,投递后就获得了面试机会了。)
2、简历通过筛选,收到面试邀请邮件/短信。
3、进行标准的1、2、3技术面,运行好点三面结束,运气不好可能会加到五面。
4、谈薪资、讲福利。
5、收到offer,进入背景调查。
6、收到入职指引。
接着我们上货,罗列一下你最想知道的东西->三次面试的具体问题(什么?又被猜中了?)

一面
1、做下自我介绍
2、说一下你了解的排序算法有哪些?是怎么实现的?
3、聊聊TCP/IP协议和HTTP协议。
4、Linux中top命令展示的内容实际上会定位到Linux下哪个目录下文件?
5、你在(1中所述某个系统)整个系统开发过程中担任什么角色,参与了哪些功能的开发?
6、说一个你做过比较有标志性的项目,在开发过程中遇到什么样的问题,是怎样解决的?
7、API系统设计中的安全性、鉴权是怎么做的?
8、当和第三方系统对接过程中,第三方系统宕机出错,你是如何解决的?
9、分布式事务实现方式。
9、在项目中你们是如何使用MySQL和Redis的?
11、Redis集群方案有哪几种方式?
12、API系统中接口请求频率限制如何做?假如有恶意请求刷你们的系统接口如何防范?
13、一个系统的性能瓶颈有哪些?分别是如何优化的?
二面
1、做下自我介绍
2、@对1中项目进行深挖细聊
3、你们项目中使用的是PHP哪个版本?有什么优缺点?PHP7的新特性有哪些?它为什么变快了?
4、trait平时会在哪些场景下使用?
5、使用过哪些框架,说说这些框架的区别?
6、ThinkPHP/Laravel框架中路由机制是什么样的,源码有了解过吗?
7、讲一下redis执行流程
8、PHP的性能较低问题你们是如何处理的?
9、了解过swoole吗,你是如何使用的,它为什么快?
11、框架是如何实现单一入口的?
12、协程是什么?
13、Nginx底层架构整体说下
14、Elasticsearch内部实现原理
15、MySQL的索引是如何实现的
三面
1、做下自我介绍
2、@挑选一个项目开始提问
3、日志一般你们是如何处理的?日志的作用有哪些?如何优化日志系统?
4、一个nginx访问日志,日志中存有time、访问ip、uri等字段,大小200T,怎么查找某一分钟的日志?
5、API系统的鉴权以及权限校验是怎么做的,你们在和第三方系统对对接的时候遇到了哪些问题,是如何解决的?
6、你们现在系统的架构是什么样的?
7、Nginx的upstream是什么?
8、同城双活架构怎么做的?数据同步怎么做的?数据强一致性怎么保证?
HR面
HR面没有太多需要说的,谦虚、好学、乐观、积极就行了,不要乱说话。
看到这里可能有很多人已经想打人了,为什么没有答案!

(主要是本人能力有限,答案或许不是最标准的,而且要是写完可能得N篇文章- -,所以大家见谅,有机会会挑出一些问题自己做好功课再写一些技术类文章分享出来,谢谢大家!)

下面给出一些面试中的建议,希望能帮助到大家。
一、关于工作经验:
从上面的三次面试可以很清晰的看出,社会招聘除了基础外更加注重面试者的工作经验,喜欢考察面试者思考问题、发现问题、解决问题的能力。面试官往往会从面试者的自我介绍中挖出很多考察点,而通过这些考察点所提的问题一般都不会是特别具体的,比如:“你在某个系统开发过程中担任什么角色,参与了哪些功能的开发?这类问题实际上是把主动权交给了面试者,对于面试者而言如果自己对某个系统研究的特别深入,那么遇到这类问题无疑是你表现的机会,在回答此类问题的时候既要有广度,也要有深度,思路要清晰、表达要清楚,不能随便说两句就了事。
举个例子,当你说到你的系统使用到了Redis的时候,可以从以下几个方面去回答:
1、在这个项目中为什么要用Redis,使用Redis是为了解决哪些问题?
2、使用了Redis的哪些特性解决了什么问题?
3、在使用Redis的过程中要注意些什么?(缓存穿透、缓存雪崩)
4、Redis的持久化
5、Redis的高可用,集群
....
总之就是自己给自己挖坑一定要挖的够深,当然自己也一定要全部填上!填的越满越好!
二、关于基础
基础在任何时候都是必问的,基础越扎实,学东西就越快,对技术的领悟能力就越强。这个毋庸置疑。简单建议就是大家在追求框架、语言、各类技术栈的时候平时最好能补一补操作系统、网络原理、算法与数据结构的相关知识。
三、关于表达
技术再牛、知识储备再完善,说不出来等于没有。练习表达,建议从熟练的自我介绍开始。模板如下(大家可以按照自己的想法去组织语言):
我叫xx,xx年毕业于xx,在xx年的时候入职xx公司,主要负责xx项目,项目是(介绍项目),其中我负责(说明自己在项目中负责了哪些,挑有亮点的去说,这里说的东西很可能是面试官要深入提问的,所以给自己挖坑记得保证自己可以填上).....
四、关于心态
人一紧张容易大脑一片空白,调整自己的心态也是非常重要的,可以这样做:
1、在面试前10~20分钟喝杯水润润嗓子(可能会聊很久,说很多话)
2、上个厕所。
3、电话面试最好戴上耳机、找一个信号好、安静的地方有助于自己集中注意力。
4、深呼吸大法让自己紧张的心情平稳下来。
5、告诉自己这只是一次技术交流,通过不通过无所谓,把自己的才华尽可能的展示出来是这次的目标。
...
五、关于老师
在技术的道路上如果有一位好的老师,将少走很多弯路。对于我而言,大概一年多的时间,singwa老师帮我做了很多规划,给了很多建议。从基础,技术栈,一线互联网公司注重什么、是如何工作的、流行使用什么技术等方面都给了我很多建议,而且此次面试机会也是sinwga老师推荐的,在这里真的对singwa老师说一声谢谢!
最后祝大家:

