除了最新的面经分享,还有 字节大佬的求职面试答疑 ,通知你关键问题是什么?少走弯路。 另外本文也汇总了 6 份大厂面试题:字节、腾讯、小米、腾讯云、滴滴、小米游戏。心愿对大家有帮忙。
前言
昨天我的交换群里,有位 宝藏群友 分享了本人的面试经验:一天约了 4 个线上面试,播种满满。
为大家分享了面试题和每个公司给出的薪酬范畴。
简略说下这位群友的状况:3 年开发教训,最近 2 年做 Go 语言开发,还有 1 年 Java/PHP 工作教训。手撕 CSAPP 选手,每天打卡分享手写的学习笔记。
留神:是每天手写笔记学习!每天 + 手写!
也有群友反馈,有人海投 200 多份简历没人回复,boss 直聘上都是 已读不回 。比照 宝藏群友 一天约 4 个面试能够说是云泥之别。
很重要的一个起因,就是 简历不行。或者你海投的公司都不靠谱,如果你海投 200 家都是已读不回,大概率不是这 200 家公司的问题 ……
我的教训分享
这是我之前找工作和简历优化的经验总结,心愿对大家有帮忙:
【求职复盘】我是怎么做到面试一次就拿到 offer 的?
【简历优化】怎么疏导面试官发问本人筹备好的问题?
【简历优化】如何在简历中最大化体现出本人的学习能力?
群友面经分享
再次感激 宝藏群友 的分享,给了大家刷题的方向、市场的薪酬行情、更重要的是给了大家信念。
在求职市场哀鸿遍野的状况下,还能做到 一天能约到 4 个面试,不说他人,起码给了我很大的信念,对市场还是看好的。(如果这篇文章能给 10 集体带来信念,我就称心如意了)
(雷同的事件,不同的人看会有不同的反馈:比方对于这件事件我是看到了市场的信念,还是有不少公司在招聘的,并且待遇不差,要求的确不低,没有像网传中说只读不会连面试机会都没有那么乐观;有的群友看到面试题的反馈是太卷,会的不多;有的群友看到的反馈是找开发岗位,Docker CNI 的实现都要考吗 …..)
20K-30K 深圳
Docker 底层、多阶段构建、原子指令你怎么了解、CSP 和 Actor 分布式模型的区别、内存对齐、Channel 和 select 的根本用法、赋值你认为有多少条汇编指令、比拟闻名的开源我的项目 pr、Redis 长久化、GMP 模型、一致性算法
13-20K * 13 深圳
3 个算法题,暴力 1 道,2 道有思路,一个贪婪、一个动静布局、一个冒泡。聊异步、业务、长久化
13-20K * 13 厦门
TCP 粘包怎么解决、同步控制 waitgroup、数据库索引优化、TCP 如何实现可靠性、队列,树,栈的利用场景和区别、TCP 在 linux 中一些参数的含意、一些十进制转换二进制、十六进制、如何定位死锁,链表简略题
16-20K 上海
和平迷雾怎么实现、共识算法、Channel、Make 和 New 的区别、GMP、数组类型算法、UDP 实现牢靠协定、分布式模型、Panic 没被 Recover 怎么解决、切片扩容、Docker CNI 的实现、数据落盘怎么做的、Lua
总结
看到这里大家心里应该有个数了,能够看看本人的冀望薪资,再看看目前市场上考查的这些知识点,查漏补缺。
也欢送大家私信我,或者关注我的公众号 程序员升职加薪之旅,前面会继续更新面试题、面试复盘相干的文章,心愿对大家有帮忙,更欢送大家的投稿分享。
须要做简历领导的也能够关注公众号,加我微信。
大厂面经
受高启强的影响,我也在读《孙子兵法》,分享这段话给大家:求其上, 得其中; 求其中, 得其下, 求其下, 必败。
映射一下目前互联网的待业市场,情理简单明了:如果你想进中厂,就要做进大厂的筹备。如果你想找到月薪 1W+ 的工作,就须要做月薪 1W5+ 的筹备。如果你的指标就是找到工作,起码要做冲洗中小厂的筹备。如果你的指标就是找个小公司混日子,大概率找不到工作。
为了更好的帮忙到大家,我还整顿了网络上很有价值的大厂面经:字节、腾讯、滴滴、腾讯云、小米、小米游戏。
心愿对大家有帮忙,倡议珍藏,并且转发给好敌人。
上面先分享一下我 学习小圈子 里字节嘉宾对于求职面试的答疑,大厂更看重的是什么? 给大家指指方向,少走弯路。
有问必答
发问
大佬好,最近我要去面试试水了,想问一下 有没有对于 java 或者 go 遇到的生产案例分享 最好是对于 jdk 或者第三方包的 bug,容易加分。感激!
答复
你是面校招还是社招?个别面试官会依据你的简历中我的项目经验、实现细节来开展逐层递进,你说的生产案例最好还是本人实战经验过的,不然很容易就发现不是你的我的项目或者会被打上我的项目参加不深刻的标签。
每一次面试都尽量准备充分,不要抱着水水的心态,大公司面试都会留痕和面评的,如果你是想丰盛下面试教训,倡议你先找一些小公司或者不太想去的公司面一面找找感觉,本人心仪的公司和岗位肯定要准备充分再去发动面试流程!
群友
我是属于社招,个别面试官会问解决过的最亮的技术点,目前是游戏平台后端开发 但实话实说 所用技术和闪光点太普通。
不是我的项目造假的意思,就是筹备几个生产上解决过的几个难度较高的技术问题
嘉宾
倡议你能够认真盘一盘负责我的项目的文档、代码等资源,即便很多货色不是从 0 到 1 本人做的,也能够借鉴和领悟下其中的技术实现细节;平时也能够多写写技术文章,输入些本人工作内容中有技术特色的中央。
群友
我负责的我的项目就是我从 0 到 1 弄好的,包含文档和代码,外面的确没有拿高薪的技术亮点。
嘉宾
技术亮点是主观的我的项目经验,除非面试官也做过相似货色,能和你产生互动否则是不太感兴趣和深刻聊的,技术栈是共同语言也便于考查集体技术能力,面试的时候也要学会主导话题,取长补短多聊本人的劣势点。说到“拿高薪”,这里说一句大白话:有多大本事拿多少钱。能力和薪资是正相干匹配的,一家公司招聘人才的能力模型会参考专业知识、工作经历、集体性情等多方面,而面试的招聘过程双向是有信息差的,最终影响你薪酬程度的是面试后果(带有信息差的能力评估)+ 你以后的薪资程度、职级(本身以后的社会主观能力反馈)+ HR 可操作的涨幅空间。
群友
了解,谢谢大佬的恳切的解答,我还是从技术栈下功夫,这样和面试官的共鸣会高一些,也不再执迷于某个技术亮点。
嘉宾
不客气,加油!技术栈扎实相对没问题💪
重点干货曾经加粗标记了,下面这个问答倡议再看一遍,很经典的问题。
以上面经来自网络,感激大佬们的分享,非自己,我只是做了面经的搬运工,心愿对大家有帮忙。
字节面经
一面
自我介绍 + 算法题:
- https://leetcode-cn.com/problems/find-peak-element/
- https://leetcode-cn.com/problems/best-time-to-buy-and-sell-st…
- https://leetcode-cn.com/problems/best-time-to-buy-and-sell-st…
问答
- 索引,倒排索引,切词,如何依据 doc id 有没有呈现某个 token
- 服务高可用是怎么做的
- MySQL 可反复读、读提交区别、原理
- 爬虫 URL 去重,设计存储构造(FST,前缀树 + 后缀树) MySQL (a,b,c) 索引,几条 SQL 走索引的状况
- 思考题:概率 p 生成 0,1-p 生成 1,如何 1/2 概率生成 1
二面
算法题:
- https://leetcode-cn.com/problems/best-time-to-buy-and-sell-st…
- https://leetcode-cn.com/problems/best-time-to-buy-and-sell-st…
- https://leetcode-cn.com/problems/coin-change-2/
技术问题
- 讲一下 es 索引的过程
- 切词怎么切,切词算法,降噪
- 让你带应届生,怎么带,
- 有什么工程教训能够分享
-
Redis 缓存淘汰有哪些
三面
自我介绍
算法题:
- https://leetcode-cn.com/problems/first-missing-positive/
技术面
- 文章上面的评论,按点赞数排序,SQL 怎么写
- 把所有评论放到内存里,怎么设计数据结构,存储并排序
- select * 会有什么问题
- 缓存热 key 怎么解决
- 职业倒退
- 领导如何评估你
- 我的项目难点,亮点
滴滴面经
一面
- 介绍我的项目
- 问我为什么抉择 GO,看我有 Java 从业经验。
- 介绍一下 java 和 go 区别,我猜是让我说一些他们的不同点,go 比 java 哪里好。我说了一些 个性
3.1 问我协程比过程好在哪里? 我本人顺便说了过程线程 协程三者关系 4. 问我想从事什么 - 我的项目中有 bloom 介绍了一下怎么应用的,精度,损失
- GPM 模型
- redis 应用模式 主从 哨兵 巴拉巴拉
- 接着聊我的项目,而后问了算法
- 渐进式的聊面试,很轻松
-
问我能不能承受看 php? 反诘时候,聊了一下 GORM,利用状况。他们的 go-spring,还有他们的夜莺零碎。因为看过一点点所以想问问。有造就体系,教我如何写 GO(这个我很快慰),说有大佬外部课程。
二面
- 自我介绍(面试官也不看我,一脸庄重我特胆怯。而后自我介绍磕磕绊绊的)
- 问我看源码吗?
- 问了问 GC 发展史,都怎么玩的 每次优化了啥
- 问了问我 go 内存 优化了那些东⻄(这题我忘了咋问的了)
- 问了一下我我的项目里 nodejs 降级为 java 为啥会快了那么多。6. 问了红黑树个性,哪个数据结构用到了。我介绍了一下 红黑树 一些个性 比方 均匀查找时间 低 插入删除须要 左旋右旋调均衡。我想到 java 里 hashmap 用到了这个构造 7. 问了一下 map 的底层构造 顺便介绍了一下 sync map
- 找出两个大文件交加
- 算法 leetcode 两棵树 b 是 a 子集那道题思路 怎么做 dfs 而后比拟 值和 指针
- 聊了一下 我的我的项目 召回相干的 和 nodejs java 迁徙 效率晋升问题
- 聊了一下 go-spring 夜莺 还有 didi 有个 写 sql 的 github 我的项目 想问一下利用状况。问我能不能 承受 看看 php 之类的
- 问了问我为啥到职
腾讯面经
一面
-
算法题二选一
- https://leetcode-cn.com/problems/permutations/
- https://leetcode-cn.com/problems/sorted-merge-lcci/
- MySQL 隔离级别
- MySQL 锁
- MySQL 存储构造(b+ 树)
- 索引 回表 是什么
- 音讯队列,rabbitmq
- rabbitmq 如何保障可靠性(生产者可靠性、消费者可靠性、存储可靠性) – rabbitmq 几种模式
- es 索引的过程
- 线上是如何分表分库的,用什么做分表分库的策略,跨表查问
- MySQL 如何同步到 es
- 线上 Redis 用的是什么模式
-
缓存热 key 怎么办
二面
- 介绍我的项目
- defer、go 继承,手写快排
-
登录流程,JWT、session、cookie
三面
- 缓存一致性
- Redis key 统计
- Redis 单线程,io 多路复用
- 算法题 https://www.nowcoder.com/practice/35119064d0224c35ab1ab612bff…
-
Redis slowlog 原理
四面(面委)
- 我的项目为主
- tcp quick_ack、nodelay,socket 编程
- 职业规划
-
为什么换工作
五面(GM)
- 我的项目
- go 协程机制
腾讯云
这个面经来源于网络,这位敌人次要技术方向是 k8s、容器、云计算。
有服务上云的实际经验,理解 cicd 根本流程,求知动向是容 器研发、基础架构研发、运维研发之类的(次要还是研发方向)。
我的项目方向:
我的项目的话我不多说什么,就是本人的我的项目细节本人必定分明,如果我的项目中不是本人做的
局部,倡议不要在简历上写太多,写分明本人做了什么,容易被抠细节问,我的项目个别都会抠细节,特地细的那种!!!
语言栈:
因为次要语言栈是 go,所以个别都比拟少问 python。
golang
1、gin 框架路由怎么实现的,具体正则怎么匹配? 限流中间件怎么实现? 2、go 的 slice 与数组的区别,slice 的实现原理,源码? 3、golang 的协程调度,gpm 模型。协程调度 过程中的锁。4、golang 的 channel 实现,channel 有缓存和无缓存,个别会间接撸码 (三个 goroutine 程序打印)。5、golang 的关键字 defer、recover、pannic 之类的实现 原理。6、sync 包外面的锁、原子操作、waitgroup 之类的。7、make 和 new 的区别,援用类型和非援用类型,值传递之类的。
python
1、python 多线程、多过程。2、python 的装璜器怎么实现的?
操作系统
1、过程、线程、协程间的区别以及他们间的切换之类的,有时候会问到语言级别的协 程。2、io 复用、用户态 / 内核态转换 3、awk 命令 4、linux 查看端口占用 5、top 命 令,free 命令中的各个参数示意什么,buff/cache 都示意什么?
k8s & 容器:
1、简略聊一下什么是云原生、什么是 k8s、容器,容器与虚机相比劣势。2、k8s 组 件,pod 创立的过程,operator 是什么? 3、docker 是怎么实现的,底层基石 namespace 和 cgroup。4、k8s 的 workload 类型,应用场景,statefulset 你们是怎么用 的? 5、limit 和 request,探针,个别怎么排查 pod 问题,查看上次失败的 pod 日志。6、sidecar 是什么,怎么实现的? 7、pv,pvc,动静 pv 怎么实现 8、k8s 的申明式 api 怎么实现的,informar 源码。9、cicd,公布模式。10、svc 的负载平衡、服务发现,ipvs 与 iptables。以上根本是会被问的点(尽管有一些问题我也不是很熟),另外很多 会被问 k8s 的网络之类的,因为我比拟菜,这块被问的比拟少。
计算机网络:
1、tcp 三次握手四次挥手,为什么不能是两次握手,三次挥手? 握手和挥手过程中的状 态。2、time_wait 作用,为什么是 2msl,close_wait 作用,time_wait 过多怎么办? 3、http 申请的过程,浏览器输出网址申请过程?dns 解析的具体过程? 4、https 与 http 的区别,https 第一次服务端回传是否加密? 5、tcp 与 udp 区别,tcp 怎么保障可靠性。6、http 申请头、分隔符、⻓连贯怎么实现
数据库:
1、mysql 的事务,事务应用场景。2、mysql 的索引,什么状况下索引生效,聚簇索引 与非聚簇索引,索引的存储 b + 树与 b - 树区别。3、join 的内外连贯,最左匹配准则。4、redis 的数据结构,hmap 怎么实现的,长久化怎么做,go 操作 redis 的形式。数据库 方向有被问到,我根本没答上来(个别都通知他只会根底,开发间接应用 gorm)。
数据结构与算法:
1、倒排索引和 B + 树 2、判断链表是否有环,工夫复杂度要求 0(1) 3、LeetCode 上合并 区间的题 4、leetcode 的股票买卖的题 5、二叉树的最近公共先人 6、有序数组合并 7、什么是均衡二叉树、最小堆 8、大文件的 top10 问题 9、golang 实现栈、队列
其余:
1、git 的相干操作,合并 commit,合并之类的。2、场景设计(比拟多)
小米面经
一面
- innodb MVCC 实现
- b+ 树是怎么组织数据的,数据的程序肯定是从左到右递增的么
- ⻚决裂伪代码,b+ 树的倒数底层层能够⻚决裂么
- 合并 k 个有序链表
- redis 的 hashtable 是怎么扩容的
- select poll epoll,epoll 具体是怎么实现的
- GMP 是怎么调度,channel 是怎么收发音讯的,channel 的 recq 和 g 是怎么建设关系
的 - innodb 二次写是什么
- undo 外面具体存的是什么
- b+ 树节点具体存的是什么
- mysql 一⻚最大能存多少数据
- myisam 和 innodb 索引上的区别
- innodb commit 之前,redo 的 prepare 而后 binlog commit,而后 redo 再 commit 有
什么毛病?5.6 之后是怎么优化的? 14. redo 和 binlog 的区别 -
读锁和写锁区别
二面
- 蛇形打印二叉树
- myisam 为什么不反对事务,如果要反对事务要怎么做
-
函数只能返回 1 - 7 的随机数,请用这个函数返回 1 -5,要求均匀 4. 聊我的项目
三面
- go 的协程调度和 os 的线程调度有什么区别
- 只有写锁实现读写锁
- go 的调度是怎么实现的
- go 的网络 IO 为什么快? 还有优化空间么
- epoll 为什么这么快,还有优化空间么? 如果要你实现一个网络 IO 应该怎么实现
- 设计一个每秒 80 万 qps 的过滤器
- 过滤器用 redis 实现,宕机期间数据怎么复原
- 设计一个下单 扣减库存的分布式应用,申请超时了怎么办,始终重试超时了怎么办
- 数组 A1 2 和数组 B2 3 是一个关系圈,A 能通过 2 找到 3,数组 A1 2 和数组 B2 3 和数组
C 3 5 也是一个关系圈,给一个二维数组求关系数
小米游戏面经
一、介绍连接池我的项目
- 介绍连接池罕用的参数,最大连接数,最小存活数这些意义,为什么要有这些
- 当链接超过最大连接数怎么解决,期待有闲暇连贯还是创立一个持续给出,比拟两
者的优劣 - 连接池清理链接的逻辑,如何优化的
- 当连接池中有一些链接不可用了怎么办,如何保障这些连贯的可用
- 当呈现上游某个实例挂掉了,连接池应该怎么解决
-
比照 mysql redis http 连接池的实现
二、介绍负载平衡算法
- 介绍平滑负载平衡算法,实现
-
当呈现上游呈现不可用,负载平衡算法怎么解决
三、介绍聊天室我的项目
- 介绍实现原理的,相互通信的逻辑
- 聊天室服务端如何把音讯下发给用户
- 介绍 websocket 包的字段
-
当有用户掉线怎么解决
四、redis 相干
- redis 的数据结构
- 各个数据结构的操作
- 各个数据结构的应用场景
- 如何保障 Redis 的高可用
-
当有一个 key 读取的频率十分高怎么办
五、算法相干
- 介绍疾速排序 优先队列的实现
总结 + 鸡汤
待业环境再好,也有人找不到工作。
待业环境再差,也有人能找到工作。
要么学历🐂🍺,要么技术🐂🍺,要么都🐂🍺。
如果学历无奈扭转,请让技术🐂🍺,其余的都是扯淡~
一起学习
须要简历优化和就业辅导的敌人能够私信我,也欢送关注我的公众号:
我的文章首发在我的公众号:程序员升职加薪之旅,欢送大家关注,第一工夫浏览我的文章。
也欢送大家关注我,点赞、留言、转发。你的反对,是我更文的最大能源!