国内各个厂面经

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