记一次腾讯社会招聘面经(后台开发岗)
记一次腾讯社会招聘面经
一面
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的高可用,集群
....
总之就是自己给自己挖坑一定要挖的够深,当然自己也一定要全部填上!填的越满越好!
基础在任何时候都是必问的,基础越扎实,学东西就越快,对技术的领悟能力就越强。这个毋庸置疑。简单建议就是大家在追求框架、语言、各类技术栈的时候平时最好能补一补操作系统、网络原理、算法与数据结构的相关知识。
技术再牛、知识储备再完善,说不出来等于没有。练习表达,建议从熟练的自我介绍开始。好了基本上就是这些问题了。希望大家的社招求职之路能顺利吧,我之后也会把自己的经验拿出来跟大家分享。
#腾讯##社招##面经#