【面经汇总】腾讯、阿里、字节、百度 | 我的面经全收录

更新 2.22

我的近30篇面经已经全部更新完毕,也根据同学们的需求把每一轮面试的日期都附上了,大家有什么问题可以评论区问我,也欢迎大家加入我的QQ群和大家一起交流,不发广告,单纯提供校招、技术交流。文末入群


自我介绍

大家好,我又回来啦~
前几周整理了一篇丰富的校招备战经验发布在牛客网,获得了很多的点击量和收藏量,链接如下
https://www.nowcoder.com/discuss/364739
看到很多同学能够从我的经验中学习到很多,一下子点燃了我分享自己准备校招期间的所有资料的热情。我已经在着手整理自己的所有基础知识点笔记、算法高频题库以及我的每场面试的真题,现在已经将一部分整理出来的高频面试题整理为markdown格式放在我的GitHub里(链接如下),并将我的校招面经放在牛客里供大家参考。
https://github.com/realnumber666/TheCodeGang-Resource-Integration


为了看面经的同学方便参考,我先说明下我的背景

  • 后端,电信本科,985,两段实习经历。
  • offer:腾讯、百度、华为、美团、流利说。

目录

加粗为已更新

暑实

  • 蚂蚁金服两轮
  • 字节一轮
  • 钉钉一轮
  • 商汤一轮
  • momenta两轮
  • 流利说两轮

秋招

  • 字节一轮
  • 快手三轮
  • 美团现场面
  • 华为现场面
  • 百度三轮
  • 腾讯六轮

干货开始

暂时先整理了暑实的面经放上来,明后天会把秋招的面经也放上来,后续有时间还会和大家讲讲对于网络上大量的面经,如何高效使用好它们的经验

蚂蚁金服两轮

第一轮

2019.3.18
57min,涉及操作系统较多

  1. 自我介绍一下?
  2. 你们专业学过计网操作系统吗?那我开始问几个计网问题
  3. 说一下进程和线程区别。(计网???)
  4. 讲一讲线程安全
  5. 如何解决线程冲突
  6. 进程如何交换数据?你操作过吗?
  7. 虚拟内存是什么?怎么实现的?
  8. 说一说分页、分段、段页式
  9. 说一说nodejs单线程是怎么运行的。(因为我提到我平时用node,它是个单线程的语言,对多线程不是很熟悉)
  10. 单线程和多线程之间的优缺点
  11. 你说到了redis,那么redis有哪些数据结构
  12. redis是怎么处理事务的
  13. redis在你们项目中是怎么使用的
  14. redis有哪几种模式?都是什么意思?
  15. 问了一下我的项目经历,具体实现方法,以及和我讨论优化方向
  16. 说一下TCP滑动窗口
  17. 说一下TCP拥塞控制,慢启动具体流程
  18. TCP还有哪些拥塞控制呢?为什么要用拥塞控制
  19. 说一下关系型数据库和非关系型数据库的区别和优劣
  20. 你在学校成绩排名如何?是否有挂科?
  21. 平时是怎么学习计算机知识的?(因为我是电信,非cs)
  22. 接触过设计模式吗? - 答:没有
  23. 有什么想问的

第二轮

2019.3.19

  1. 自我介绍
  2. 进程、线程的区别
  3. 说一下进程调度算法
  4. 说一说数据库事务
  5. 数据库事务底层是怎么实现的
  6. nosql是按行还是按列取,说一说行列式数据库的区别
  7. 索引有哪几种实现方式?分别应用在哪里比较好?
  8. 浏览器输入网址后的整个处理过程?
  9. 广度优先和深度优先遍历讲一讲
  10. 快排和归并排序的思想和时间复杂度
  11. 你有什么感兴趣的方向
  12. 你是怎么学java的?看了什么书?
  13. sql会用吗?
  14. 有什么想问我的

字节一轮

此处帮我的靠谱学长发一波字节内推。人少坑多、免笔试、不影响秋招 | 大部分实习都支持转正 | 海量岗位、地区统统有
https://job.toutiao.com/s/pwjTNL 戳这里!

  1. 自我介绍一下
  2. 请描述发起一个http请求的全过程
  3. 描述TCP三次握手四次挥手的过程
  4. 为什么我握手要三次而不是两次或四次
  5. Redis为什么快(涉及好多好多,说了好久)
  6. 使用过Redis的什么操作呢
  7. Redis是怎么进行分片的
  8. 开始问简历上的项目经历,包括实现方法,优化方案等
  9. 哈希表是怎么来的
  10. 在改变哈希方法的时候需要扩容,怎么优化呢?
  11. 两道算法
    1. 给一串url,以'.'和'/'为分隔符,进行逆转
      追问,如果不可以整个字符串放进数组,而是要一个字符一个字符放进数组,怎么实现呢? 【栈】
    2. 给一串01序列,给一个k,有k个机会可以把0置为1,请问序列中最长连续1序列有多长? 【滑动窗口】

反思!

  1. 算法题一定要准备纸笔,整理思路的时候打草稿,然后和面试官交流,写代码的时候最好是在线上写,不要在本地ide里写完在复制上去
  2. 简答题,要有思路、有条理,不要说太多废话,要有底气。不过最后谦虚一点跟上一句这些就是我的理解balabala(因为你说的可能是错的hhh)

钉钉一轮

2019.4.21

  1. 数据库范式
  2. 数据库索引结构
  3. 红黑树(二叉树),B树之间的性能区别?

    为什么高级语言可以用二叉树,而数据库用B树

    • 红黑树和B树优劣
    • 平衡二叉树、B树、B+树、红黑树之间的异同
  4. 操作系统的I/O方式有哪些?
  5. 异步与非阻塞的区别?各自的优点缺点?
  6. HTTPS如何加密?
  7. 对称加密和非对称加密的区别?
  8. 学过计组吗?
  9. 问了各类排序的思想,时间复杂度,堆排序的时间复杂度
  10. 手撕算法场景题(实质就是一个桶排序)

    反思!算法思路应该自顶向下,先通过注释把输入输出都写好


商汤一轮

2019.3.21
一场我说了自己不会Java还疯狂被问Java的悲惨面试

  1. docker用过什么命令
  2. 用过docker compose吗
  3. 设计模式了解吗
  4. 多线程了解吗
  5. java如何创建线程
  6. jvm内存结构
  7. 一个数组,先升序后降序,如何找到最大值
  8. mysql事务隔离级别?默认是什么级别?【应该是可重复读】
  9. 索引实现的数据结构
  10. b+树和b树区别

momenta两轮

2019.3.28
面试官很好,首先上来很详细地介绍了公司、项目组、技术栈,问的问题也比较灵活,我觉得比机械地问线程、进程等,有意义很多。全程基本问的问题数据库偏多,操作系统和网络少

第一轮

  1. 自我介绍
  2. 描述一下事物的一致性?知道的都可以说
  3. 你们的数据库是怎么保证一致性的呢?
  4. 怎么处理并发问题?
  5. 乐观锁的version可能也会冲突,是怎么解决的?
  6. Redis了解吗?有事务一致性的问题吗?
  7. 说一说自己在实习公司做的事?
  8. 我提到过我用过aws的服务,所以面试官问了一些aws相关的问题
  9. git熟悉吗?git如果在一个分支下已经commit,但不小心删了这个分支,怎么恢复呢?
    • git reflog / git log -g 查找所有提交记录,找到相应的commit id
    • git branch new_branch [commit_id] 直接恢复这个被删除的分支

第二轮

2019.4.3
只记了两个自己没答好的问题

  1. docker和虚拟机的区别?

    • 虚拟机需要模拟整台机器,包括硬件,每台虚拟机都需要有自己的操作系统

    • docker适合宿主机共享硬件资源及操作系统

    • docker的架构可以共用一个内核和共享应用程序库

  2. docker的缺点?

    • 虚拟机更加隔离,不会因为应用程序的漏洞给宿主机造成任何威胁,支持跨操作系统的虚拟化
    • 容器只是对进程虚拟,实现进程和资源的隔离,所有应用共用主机操作系统,系统性能接近于裸机性能
    • docker的root和宿主机root等同

流利说两轮

第一轮

2019.6.10

  1. 说一说自己的项目
  2. 讲一讲快排优化的几种方法
  3. MySQL如何防止幻读
  4. 讲一讲乐观锁
  5. 在项目中对数据库的并发写是怎么控制的
  6. 图和树的关系和区别
  7. 链表和数组的关系和区别
  8. 如何判断链表是不是一个环
  9. 联合索引使用条件

第二轮

2019.6.12

  1. 问了一下简历提到的Linux内核裁剪,Linux开机启动过程的问题
  2. MySQL是否可以抗住秒杀(简历写了人均有的秒杀系统)
  3. 秒杀系统大概架构
  4. 算法题two sum. three sum
  5. python多线程

字节第一轮

2019.7.16

  1. 讲讲你知道的所有的关于MySQL索引
  2. 索引还能用什么结构,进行对比
  3. 唯一索引和主键的区别
  4. 有哪些隔离等级
  5. 数据库的多版本控制
  6. HTTP有几种方式
  7. post和put的区别
  8. trace是干嘛的
  9. 内核态和用户态的区别
  10. TCP四次挥手为什么
  11. 讲讲TCP拥塞控制
  12. 设计模式了解吗?不
  13. java了解吗?不
  14. spring了解吗?不
  15. 两个链表题(一道忘了,一道是把链表的偶节点和奇节点分别变成两个链表)
  16. 一个动态规划(最长公共子串还是子序列,不太记得了)

快手三轮

第一轮

2019.9.6

  1. 上来先问了一道java数据结构的实现,不会
  2. go多线程对map的操作
  3. 协程和线程区别
  4. 如何分析慢查询(问了两遍)
  5. 如何分析索引建的好不好
  6. 索引优化
  7. 联合索引(a,b)和联合索引(b,a)
  8. 对于一个大表构建索引的时候可能会阻塞,怎么解决
  9. 链表和数组的使用场景的区别
  10. 如何实现一个可以O(1)时间复杂度查询的链表
  11. 查询cpu,内存占用,top根据什么排序,怎么进行选择查看cpu or 内存
  12. linux下如何查找一个文件
  13. awk的使用
  14. 数据库的隔离级别,如何选择数据库的隔离级别
  15. http和https的区别
  16. 对称加密和非对称加密区别,非对称加密使用场景,什么时候是私钥加密,公钥解密
  17. 设计模式了解哪些?手写单例
  18. 链表反转
  19. 为什么用go,go的并发厉害在哪里,chan好在哪
  20. go和python和nodejs的区别,强数据类型、弱数据类型
  21. 字节流和字符流区别
  22. 体现自己学习能力强的例子

第二轮

2019.9.10

  1. 针对读多写少的数据结构(map)在多线程并发时应该怎么处理,可以防止写需要等待非常多时间的读锁释放
  2. golang的sync.Map如何做到update后立刻能读到正确的值
  3. 手写sql(题目忘记了,但不太难)
  4. 复杂树的复制
  5. 最大子序列和
  6. 如何实现一个定时器?多线程轮询?如何保证精确度

第三轮

2019.9.20

只记了一部分,但却是第三轮也挺短的

  1. 讲一讲一致性哈希
  2. 讲一讲线程状态和生命周期
  3. 如何查看哪些进程在读取某文件

美团现场面

2019.9.20

我是现场面霸面的,一共两轮技术一轮hr,面完手头没电脑所以记录的题不完整

  1. B+树节点大小如何确定
  2. 在同一地址内完成字符串反转
  3. python中的yield的作用
  4. 最左前缀匹配原则为什么只匹配最左
  5. 多线程不加锁的话怎么处理呢
  6. python底层是如何实现的dict

华为现场面

2019.9.20

也是因为现场面手头没电脑,没及时记录面经

简单讲一下,一共三轮技术,第三轮是主管面,主管一般不会问一些很具体的技术问题,而是问一些类似HR面的问题(甚至我很多同学面完了出来都以为第三轮是HR面)

前两轮的流程基本都一样,一上来先给两道算法题(我记得都是剑指的原题),给白纸手写算法,写完算法之后就开始问项目,基本都是围绕项目展开,包括你是怎么做的以及项目中的技术难点,计算机基础的题问的不多.

BTW,我现在只记得第一轮问了一道链表找环的头结点,并且要提供数学推导,我只记得怎么找不记得推到,现场写了挺久才写出来,所以还有点印象.


百度三轮

2019.9.27

百度是线下面试,我手抖选了上海的线下面试,所以九月末从武汉专门跑去上海面试,面试一共三轮,第三轮是主管面,问了一两个场景题,其他基本问的和HR面的问题差不多

因为也是现场面,手头没电脑,我记录了题目但没按第一轮,第二轮分开

  1. 内核态用户态

  2. 协程线程区别

  3. 为什么选Redis作为消息队列 | 答曰:我只会这个

  4. 手写SQL(很简单的那种) 找平均分大于90的班级

  5. TCP和HTTP区别和分别存在的必要

  6. 一个TCP连接可以给几个HTTP用

  7. 为什么有了TCP or HTTP还要有RPC?

  8. 讲一下自己对RPC的理解,它做了些什么?

  9. 快排优化

  10. 手写堆

  11. git能不能重新commit

    • git commit --amend 可以对上一次的提交做修改

    • git reset HEAD 取消最后一次提交再来过

  12. 孤儿进程,僵尸进程

  13. 设计题:搜索框补全

    • 数据来源
    • 数据结构
  14. 网络为什么要分为7层

  15. 最近看的书?学到了什么?

  16. 为什么数据要先放到内核,不能直接读到用户态


腾讯六轮

鹅厂六轮,面到我怀疑人生,在第四轮之后其实我的进度条灰掉了,后面又被同一个部门继续面(我猜是挂了又被捞,所以才有这么多轮,正常应该是两三轮这样子)

有两轮都是在我午觉睡到一半的时候突然接到电话开始面的hhh 鹅厂的面试真的很刺激咧

第一轮

2019.9.29 下午

  1. 二叉搜索树删除节点如何实现
  2. 如何压缩一个int数进行传输
  3. epoll与poll的区别,不同触发模式的区别
  4. 进程间通信和线程间通信的区别
  5. 口头描述算法题解法
    1. 两个字符串的最大子序列
    2. 爬楼梯
    3. O(1)时间复杂度删除链表节点

第二轮

2019.9.29 晚上

这一轮,在面试途中我提到亚马逊aws的中文版文档真的好恶心的时候,面试官哈哈哈哈地笑了起来,我就觉得奇怪,最后面试官告诉我他上家公司就是亚马逊 :-)

  • 面试官看了我个人主页,询问我写的相关的文章

  • AWS s3的实现

  • AWS用过哪些服务

  • docker底层实现

  • docker的run为什么都放在一条里,不可以分开吗

  • docker的最佳实践是啥?哪里看来的?

  • Linux小系统咋做的(简历写到了)

  • 手撕算法nums of island(Leetcode200)

  • 对微服务的理解

  • python编码规范

  • 设计一个资源申请平台

    • 申请:HTTP接口设计
    • 数据存储:更新-轮询
    • 维护日志,谁用了什么机器

第三轮

2019.9.30 早上

  1. 两个系统设计题
    1. 12306买票系统(包括数据表设计等等)
    2. 十万条数据排序并且给出排名(桶排序)
  2. Redis的一些底层实现

第四轮

2019.9.30 晚上

  1. 自我介绍
  2. go的协程知道吗
  3. 100万字符串,给定前缀,搜索出匹配前缀个数的时间复杂度
  4. 堆和栈的区别
  5. 程序放在哪
  6. 为什么要分堆和栈
  7. 内存碎片的管理
  8. docker如何做的资源隔离
  9. docker不同的网络模型的区别
  10. docker在网络方面的消耗
  11. 你觉得docker为什么会流行起来

第五轮

2019.10.23

  1. 讲一讲RPC
  2. Linux系统编程相关的一些问题
  3. 关系型数据库和非关系型数据库之间的区别,优劣
  4. 4G文件,1G内存,如何排序(归并)

第六轮

  1. 倒排索引取交集
  2. 线程调度和进程调度区别
  3. 进程进行系统调用时,内存的变化
  4. 进程调度的过程
  5. TCP UDP传输1M数据时的区别

后记

  • 欢迎加入QQ群和正在准备暑实、春招的同学一起交流,我也会在群里尽可能多地回答大家的问题,群号:1045497369
  • 欢迎大家关注我的牛客号和我的公众号【THE CODE GANG】,以后校招相关的经验、面经等会发布在牛客,一些高频面试题解析或算法解析会发在我的公众号和GitHub里。
    现在扫码回复【面试题】可以获得更多资料哦~
#面经##腾讯##实习##春招##阿里巴巴#
全部评论
大佬tql
点赞 回复
分享
发布于 2020-02-17 16:58
大佬,能标注一下每场面试具体的时间点就好了。
点赞 回复
分享
发布于 2020-02-17 22:25
博乐游戏
校招火热招聘中
官网直投
佛祖?
点赞 回复
分享
发布于 2020-02-17 22:58

相关推荐

#软件开发2024笔面经# 岗位是腾讯PCG的30min自我介绍挑一个项目说一下在网页里输入一个网址到页面展示出来发生了哪些过程TCP和UDP的差别TCP有哪些机制保证它是可靠的你对死锁的理解?有什么办法来避免死锁?手撕:LFU算法和两两翻转链表 。用ACM模式来写,第一题没做过,没写出来,只做过LRU算法,面试前还在疯狂刷LRU,结果考了LFU,然后就跟面试官说不会,给我换了第二道题,因为我不太会ACM,就把核心代码给写了一下。感觉ACM还是得加强你对c++有了解过吗?你对栈和堆的了解?基于上一个问题,面试官还问了一个“它们的增长方向”,不了解你对进程和线程的了解?你对线程安全的理解?二叉树怎么展开成一个线性表,一般有哪些方法?前序遍历,中序遍历,后序遍历还有层序遍历a+b = c 是一种什么模式?这个我不知道他在问什么,他也没说清楚,就换了一个问题,所以到底是啥?内存泄漏产生的原理?有什么危害?写代码时什么场景会产生内存泄漏?内存泄漏的危害?对程序、用户有什么影响?你是偏向后端是吗?面试官说他们是偏向前端的?反问:您对我今天的表现进行评价?面试官说当场不好做评价(为什么不好评价?可能看不上我吧)您觉得我还有哪些地方可以学习的?面试官说可以学一下数据结构什么的,还有计网、操作系统实习生主要是做什么的?写代码,偏向底层,跟多媒体、流媒体打交道总结一下:这次的面试给我的感受很一般,跟我面美团的感受差远了,面试官口音特别重,有些问题都听不清,而且面试时还迟到了。这个面试是在晚上八点半开始的,他们加班是不是挺严重的?
点赞 评论 收藏
转发
点赞 评论 收藏
转发
19 187 评论
分享
牛客网
牛客企业服务