国内各个厂面经
本人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,不需要找工作的你工作顺利,事业有成!!!觉得文章对你有帮助记得点个赞!