写点什么

还热乎的面经

用户头像
书旅
关注
发布于: 2021 年 01 月 22 日
还热乎的面经

非常普通的二本菜鸟一枚(去年毕业),也一直有个大厂梦


回看 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!

发布于: 2021 年 01 月 22 日阅读数: 33
用户头像

书旅

关注

公众号:IT猿圈 2019.04.11 加入

还未添加个人简介

评论

发布
暂无评论
还热乎的面经