国内各个厂面经
本人21届渣硕,也算国互联网大部分都面过了,答应群友发一下面经,非互联网和小厂就不发了,有些面完就发到博客了所以会详细一点,有些面完没记录可能存在遗漏,大家酌情参考。
答案和经验后面都为大家整理成文档,但我不建议大家直接去看,大家可以先看前面的真题,自己看完在脑海里做一做看自己能达到一个什么水平!完整版的面试题+经验+视频都为大家整理好的,有需要的朋友关注公众号:前程有光自取!
腾讯(后端)
一面(30分钟)
- TCP三次握手四次挥手 及状态转移过程
- Http和Https的区别 主要S的过程
- 算法题:求最大质因数
- redis的数据结构和具体实现方法
- i++语句 系统实现过程
- ACID和隔离级别
- 算法题:链表判断环及求环的位置
二面(40分钟)
- 聊项目
- redis分布式实现原理 三种分布式 以及哨兵模式 一致性hash
- 分布式锁的实现
- redis ziplist的条件
- c语言相关的(好像是字符串复制函数(忘了))
- 大量数据小内存求中位数
- 算法题:手写快排
百度(数据研发)
一面(50分钟)
- 聊项目
- spark 常用算子介绍
- spark shuffle流程
- 数据倾斜及解决方案
- map join
- 广播变量
- 智力题:3个人 3个帽子 红红蓝 红红红 蓝蓝红
- 第一次大家都不知道,第二次有个人知道了
- 必定的分配情况 红红蓝
- sql:求7日留存
- 算法题:有序矩阵求目标数值(leetcode 240题)
- XGB和GDBT区别
- XGB做了哪些改良
- XGB对缺失值的处理
美团(大数据)
一面(70分钟)
- 聊项目
- 各个排序算法和复杂度(让列出10个)
- Http和Https的区别
- Spark和Hadoop的区别
- 聊项目
- 每个语言(c go python java)的循环控制语句
- 存储介质由慢到快
- 反问
二面(50分钟)
- 为啥没有实习,对数据开发的看法
- 秋招为啥没有offer
- 介绍hashmap,为什么要数组加链表 为什么要转红黑树,为什么要是2的n次方
- 还是hashmap 为什么不能直接equal要先hashcode
- 为什么要重写equal
- b+树和b树的区别
- ACID
- Mysql如何实现可重复读
- 聚集索引和非聚集缩影
- 什么语句能用到索引,索引如何优化
- 问项目,为啥这么架构
- Spark shuffle流程
- 做题:有序链表交叉重构,常数空间。
- 反问
字节(大数据)
一面(50分钟)
- 做题:求数组波峰
- 优化为二分查找
- 做题:二进制相加
- 做出来让优化 (然后没想出来,应该是异或和与的操作,力扣有原题)
- 聊项目
- 2道困难SQL(没做出来)
- XGB的原理
- Kmeans的原理
- Kmeans和KNN的区别
- 无监督和有监督学习的各自优缺点
- 反问
滴滴(大数据)
一面(50分钟)
- 聊项目
- TCP和UDP 三次握手 TCP状态转移
- HTTP和HTTPS 区别和S多的流程
- Tcp和http的关联与不同
- Kafka 和 RocketMQ的区别
- Spark rdd介绍, shuffle 过程介绍,血缘依赖 rdd和dataset的区别
- redis的各个数据结构和实现方法
- redis分布式的实现方法
- 做题:忘了,应该是个中等题
- 反问
二面(60分钟)
- 聊项目
- 大量数据(存在重复),小内存,统计重复个数
- 说思路然后在面试官提示下优化
- 聊kafka 分配原理 分区存储和broke相关
- 聊分布式相关 key的hash原则,一致性hash等(有些忘了)
- 做题:大数相加
- 情景题:
- 如何用DBSACN确定司机的划分区域
- 滴滴业务介绍。
- 反问
三面(35分钟)
- 对数据开发的看法
- 各个排序算法
- 程序内存空间如何分配
- http和https
- 情景题:合并单号 并用算法实现 然后优化
- 反问
四面(加面40分钟)
- 聊项目 并详细问各个技术的使用情况和为什么使用
- 问抗压能力
- 闲聊
小米(算法平台)
一面(15分钟)
- 做题:二叉树的左视图
- 然后问如何优化写的算法。
- 聊项目
- 聊常用哪些算法(然后直接结束了)
二面(40分钟)
- 聊项目
- 做题:反转链表
- XGB和GDBT区别
- ROC,AUC,准确率,召回率计算公式
- 树模型调优方法
好未来(大数据)
一面(50分钟)
- 聊项目
- hive:内部表,外部表 ,数据倾斜及解决,锁表
- spark:reducebykey和groupbykey的区别
- flink:如何保证一致性
- 说了一下check和barrier
- sql的索引及区别
- 说了一下聚集和非聚集
- innodb和myism简单说了一下
- 做题:左上到右下的消耗最小
- sql:求七日连续登录的人
- 反问:业务内容和评价
二面
- 操作系统如何工作(懵比)
- 然后问如何进行内存管理和文件管理,进程管理
- 讲一下hadoop这些分布式如何实现
- 讲了一下主从复制和选举(谷歌三大论文里面的一些知识)
- 讲一下RDD如何实现分布式的
- 做题:数组的第二大数
- Kafka如何实现分布式
- 讲了一下broke和partiton 感觉面试官不太满意
- 让手写网络编程 实现服务 对redis的各种数据结构调度
- 反问哪些方向需要提高
携程(数据开发)
一面(30分钟)
- 聊项目
- 问算法,逻辑回归、和svm的计算流程
- xgb的特征重要性计算原理
- 项目其他的算法问题
- 数据库索引:聚集索引和非聚集索引
- 做题:两个数组求交集
顺丰(大数据)
一面(40分钟)
- java 多态概念,抽象接口和抽象类
- java hashmap及底层原理
- java sleep和wait 哪个会释放资源
- 做题:二叉树左视图
- 一个无序堆,变成大根堆时间复杂度
- Spark RDD和dataframe,数据倾斜及解决办法。
- Spark 内存模型
减少并行的task数量能否减少内存压力
我的面试经验分享(超详细)
首先基础这一块是绝对不能落下的,所谓万丈高楼平地起就是这个道理,包括mybatis,springboot,springmvc,甚至springcloud这些都是需要基本掌握的,我的话是选择视频的方式学习和复习,大家如果也有这一方面的需求的话,我这里视频也可以分享给大家!
数据结构与算法
然后就是刷算法题,算法刷题我认为在面试比例中还是占据很大一部分模块的的,我刷算法一般是先看视频,看完之后再自己去刷,这样印象和理解都效果比较好!
刷八股文
这个东西相信不用我说大家也知道他在面试中的占比了,几乎不管你去哪一家面试都会问到,怎么积累经验呢?我的回答还是刷题,自己刷+看视频讲解,坚持几个月相信你都会惊讶自己的改变!
刷面试题
这个我一般都是选择在面试的前几天去牛客上面去看,上面还是有很多大佬总结的非常透彻的,当然,你要是比较偷懒的话我这边整理了一套2021头部互联网公司的面试题,都是视频的形式讲解,算是比较好理解的了!
看书
这是最原始也是相对来说比较高效的学习方法了。看什么书,这是针对自身情况来的,自己需要补充什么相信你绝对比我清楚!当然如上所述,你要想偷懒的话,我这里也有一套150集阿里巴巴开发手册最新版(嵩山版)视频详解,不管你是萌新还是大佬都可以选择看看,有需要的自取!
自己总结的面试题
这么多年面试了这么多家公司,自己平时又有喜欢做笔记写博客的习惯,我这里已经积累了大量的一线大厂面试题,都是我自己记下来然后标注自己的理解和回答,完整版我已经整理成PDF文件了,有需要的朋友关注公众号:前程有光,自取!,包括以上所有视频和资料都请自取!
最后
分享一点心得吧,不管你是跳槽,还是找工作,又或者是实习,你可以永远把你这一次面试当做最后一次面试去对待,不要想着自己这里还有退路,那里还可以再面,这样只会影响你的发挥,认真对待每一次面试,是对自己负责也是对自己面试的公司负责。最后,祝愿在找工作的你面试成功拿到满意的offer,不需要找工作的你工作顺利,事业有成!!!觉得文章对你有帮助记得点个赞!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。