还热乎的面经
非常普通的二本菜鸟一枚(去年毕业),也一直有个大厂梦
回看 2020,自己也确实比较结结实实的补了一波基础,虽然枯燥,但是过程中带来的成就感还是满满的。组内的几次分享,也让我对这些基础理解的较深刻
这也让我有了底气,在参加完好未来的 PHP 技术技术大会之后,决定尝试去面试大厂,检测一下自己的成果吧
从 12.10~12.27,一共面了大概 5 家(包含好未来和百度),很幸运的都通过了所有技术面试,简直不敢相信(没见过世面的样子!-_-)
好了,下边才是本文主题,好未来和百度的面经(脑子容量有限,大概就记住下边这些。顺序没有先后,想起来一个写一个)
好未来面经
一面
自我介绍
介绍一下现在做的项目
项目中遇到了哪些问题?是怎么解决的?
项目中用到了哪些技术栈是你之前没有接触过的?是怎么学习的?
给一个表结构,给一个 SQL,问这个 SQL 查询过程是否有回表
尽可能完整的描述 MySQL 执行一条 SQL 语句经历了哪些
给一个打卡记录表,写一个 SQL,获取到打卡次数最多的前 10 名
给了一个有序数组,找出某个数字的下标
PHP7 数组的底层实现(一面没答上来,确实没看过)
PHP 是如何进行内存管理的
进程、线程、协程的使用场景
Redis 有哪些数据类型?缓存雪崩?缓存穿透?缓存击穿?
Nginx 的多进程模型
说说 Laravel 的服务容器
502、504 这两个状态码在什么情况下会出现?你是如何排查的?
说一些你经常用到的查看系统情况的 linux 命令
工作中用到了哪些设计模式
二面
数组的移动:[1,2,3,4,5] 右移 2 位变成[4,5,1,2,3]
单向链表环的检测
给你一个无序数组,找到前 K 个最大的
Redis 中,set、zset 底层实现原理
Nginx 如何实现平滑重启的?以什么方式?
Nginx 和 php 的通信原理?
详细说一下,哪些情况会出现 502 和 504?
项目中有哪些值得拿出来说的?
信号监听这块怎么做的?kill -9 为什么能强杀进程
进程间通信方式
PHP 内存管理是怎么实现的?
PHP7 数组的底层实现(一面之后看了一下,二面回答的时候,面试官说我描述的是 PHP5 的底层数组实现,PHP7 有优化)
Redis 中的 zset,是如何实现扩容的?
说一下依赖注入
如果 php-fpm 没起来,Nginx 会报哪个错误码
你是如何提升接口 QPS 的
composer 加载原理
hrbp 面就没记录了,大致就是了解个人情况和如何学习之类的
好未来一直是我的目标公司,也是我毕业以来面的最大的厂(没办法,这学历,没人内推,很难有大厂的面试机会)。刚开始面的时候超忐忑,但是慢慢就进入状态了,每一轮面完真的成就感满满,不是说自己都会,而是面试官真的超好,你可能不是很清楚的地方,他一步步的去引导你,然后自己按照那个思路就找到答案了
面试感觉就是,面试官超专业,人也很好,反正感觉就特别好。面试通过,还是超级开心的。本来打算直接去好未来了,但是中间收到了百度的面试,所以就想试一下,很幸运也通过了,下边是百度的面经
百度面经
一面
说说你现在做的项目(问的很细)
说说你用 go 写的爬虫项目
你的项目中用到了哪些数据结构
你的爬虫项目如果做升级,你会怎么做?
说说 Redis 的几种数据类型及使用场景
MySQL 索引说一下,知道多少说多少
括号匹配问题
输出 n 对括号的所有组合(回溯,没答上来)
go 里边的 channel
说一下你们对外的接口,如果用适配器模式进行修改,你会怎么做
Nginx 和 PHP 通信的完整流程
Nginx 的多进程模型
如果 Nginx 的 master 进程被杀了之后,还能正常访问吗?
二面
高并发有遇到过吗?(.....没有)
有没有基于兴趣了解过分布式(......没有)
说一下你理解的 duck typing
go 中的接口和 php 中的接口的区别
你的项目中有哪些值得说的?
知道什么是稳定排序吗?
快排是稳定排序吗?为什么?还有哪些是不稳定排序?
说一下同步、异步、阻塞、非阻塞、同步阻塞、异步阻塞、IO 多复路
进程间通信方式有哪些?
乐观锁、悲观锁
MySQL 用的是悲观锁还是乐观锁?
InnoDB 和 MyISAM 的区别?Redis 和 Memcache 的区别?你会在哪些场景下选择 Memcache?
你了解 http 和 tcp 吗?说一下你知道的内容
TCP、UDP 的区别?什么是面向字节流的传输?
TCP 是如何保证可靠传输的?
http 的请求头内容和响应头内容有哪些
说一下 group by 是如何实现的?
三面
介绍一下现在和以前做的项目
你项目中是如何保证幂等的
双向链表,插入一个节点
MySQL 的主从同步?如何保证顺序的?你有什么解决方案?(MySQL 主从同步确实没仔细了解过,然后面试官就让说自己的思路)
PHP 的垃圾回收机制
Redis 中 list 的底层实现
如何看待团队内部竞争的问题
如果有个项目非常紧急,你如何做取舍
有没有转 go 的想法
三次握手?DOS 攻击?
如果有十条一样的单子并发请求到你的代码逻辑中,你会如何处理?
然后是 hrbp 面试,基本上是问一些在大学里都干了啥之类的
技术面试官真的都挺好的,也是一步步的引导你去思考问题,没有接触过没关系,说自己是如何思考的就行
然后很快也有了结果,通过了所有的面试。在面百度的期间,好未来那边已经跟我沟通完了所有的东西,就差发 offer 了。然后我是给好未来说我这边有百度的面试,想面完,好未来的 hr 真的超好,她说可以等百度这边给结果了再给她们回复
百度面完之后,它们招聘那边的人迟迟没联系我,后来我就主动问了一下,说今天就联系我,估计是它们把邮件忽略了。后边百度那边就给我发了入职材料的邮件,薪资流水、学历、学位这些
我确认百度这边通过之后,就把好未来的 offer 拒了。哎,可能只有学历非常普通的小伙伴才能理解吧,去百度是想镀一层金,平台大,有资源
但是在后边的沟通中,真的特别不舒服,跟我谈薪资的 hr 说话的方式,我真的超不喜欢。她给我的薪资,我觉得跟我预期的有点低,我说我考虑一下,然后稍后给回复。我记得她说了一句“年底了,我们 hc 少”,那个语气,大家自己悟。后来我接受了,为了镀金嘛
然后谈到入职时间的问题,对方说了一句“早点来对你有好处”,因为这个 hr 说话一直都是那种比较冷淡的,听到这句话我真的炸了。我是为了镀金,但也不能没底线,我就让她们终止流程了
我也知道那是她的职责,但是总觉得她姿态放的有点高,说话方式让人很有压迫感,我真不喜欢那种氛围
后来三面我的那个老大跟我了解了情况,说让再考虑一下。我最后还是选择了不去(我知道将来我不跟 hr 合作,技术团队的氛围并不会是那样,但是那种不舒服的感觉已经在心里了,很难再接受了)
然后我就联系了好未来的 hr,问她们是否还有 hc,我想再面一次。然后她问了我百度那边的情况,就跟她们那边主管商量,接着之前的流程走了
兜兜转转,也许它就是最好的结果。本身我也超喜欢好未来的技术氛围,也许这就是缘分,哈哈哈,加油!
好了,叨叨完了,希望大家也能拿到自己满意的 offer!
版权声明: 本文为 InfoQ 作者【书旅】的原创文章。
原文链接:【http://xie.infoq.cn/article/02031f7a01626155faeec98c1】。文章转载请联系作者。
评论