首页 > 秋招结束,回馈牛客,大厂面经总结
头像
SkySeason
编辑于 2020-11-30 11:20
+ 关注

秋招结束,回馈牛客,大厂面经总结

秋招结束,回馈牛客,大厂面经总结

秋招拿了阿里、腾讯、美团、滴滴、京东、快手、小米的offer,如今回馈牛客,分享一下当时的面经。有些面试由于比较晚,所以没有记录。比如快手,当时已经有了几个意向,就比较懈怠,没有总结。
楼主还写过一篇秋招经验分享帖,可以配合此帖使用:回馈牛客,秋招总结分享

阿里巴巴

参加了阿里的暑期实习,所以秋招获得了绿色通道,面试流程较短,一轮GM面,一轮直属Leader面。

GM面

  • CAP理论与BASE理论
  • thrift的负载均衡
  • dubbo的序列化方式
  • 一个rpc框架,生产者提供了枚举类型,但是后来修改了枚举,客户端没有更新,会产生什么问题?
  • 一些性格方面的闲聊问题

直属Leader面

  • 实习,聊各种实习项目
  • 所有项目中,你遇到最大的困难是什么,收获了什么
  • 如何学习新技术
  • MySQL和Redis主从复制
  • rpc调用原理
  • 注册中心原理
  • 注册中心挂了怎么办,一直深入这个问题
  • dubbo和thrift区别
  • 数据库慢查询如何处理
  • 线上问题排查
  • 不用arthas
  • 最近在学什么
  • 对jvm调优的理解
  • 项目中用的哪个gc
  • 毕设题目
  • c语言和java语言的内存模型区别
  • 为什么不留在阿里健康
  • g1如何并发清除

腾讯

腾讯是秋招第一家面试的公司,一面二面现场面,三面GM面隔了很久电话面。

2020年8月13日腾讯一面(1h左右)

  • 自我介绍
  • 了解阿里健康的业务么
  • 你觉得阿里医院这个项目前景如何?
  • 在滴滴,redis用了什么数据结构
  • MySQL用的是什么存储引擎
  • Innodb如何设置事务,你了解Innodb的事务机制是什么样
  • 在滴滴,是如何使用RocketMQ解耦的
  • 算法1:给定有序数组,求两个和为n的数
  • 算法2:给定无序数组,求两个和为n的数
  • 算法3:给定一个数组,数组内数字代表柱体高度,此时如果下雨,整个范围可以采集雨水多少?

2020年8月13日腾讯二面(1h左右)

  • 自我介绍
  • Blink是阿里基于Flink开发的还是封装了一下?
  • 在字节的项目你参与推荐算法了么,你们是什么推荐逻辑?(规则引擎、定时筛选)
  • 筛选后的车系信息存储在redis里,使用什么数据结构?
  • set和zset的区别?
  • 这些信息如何读取?
  • 如果在读取的同时正在插入信息怎么办?(redis事务)
  • 介绍redis事务
  • 不使用事务如何解决?(备份内存,读写分离)
  • 如果不用这种办法,你还有其他方法么?(分布式锁)
  • 介绍分布式锁
  • innodb如何实现事务(mvcc、间隙锁)
  • B+树只有叶子节点存放数据,那会产生什么变化?为什么要这样的结构?
  • 算法1:链表中删除重复节点(思路比较简单,但是考验链表coding能力,手写,面试官会裸眼编译。。)
  • 设计题1:实现一个内存拷贝函数(memorycopy,入参是一个任意类型的指针,返回拷贝后的内存地址)
  • 设计题2:邮箱验证中的链接,如果实现仅一次有效,如何实现有效期30分钟,要完整设计思路,并给出url样例

总结:问题均发散问题,很少知识点的固定考核,更多知识点的应用结合,临场发挥因素较大,算法难度不高,但是所有都需要手撕coding。

2020年9月3日腾讯三面(30min左右)

  • 自我介绍
  • 详细聊了聊项目,实习的,实验室的都问了,追问不多,对数据开发很感兴趣
  • 两个大文件,每行一个字符串,A文件1T大小,B文件2T大小,求两个文件的交集
  • 晚饭时间到了,你如何给一个人推荐饭店?
  • 反问

2020年9月4日腾讯HR面(30min左右)

  • 自我介绍
  • 优势劣势
  • 之前实习的体验
  • 阿里滴滴字节的公司文化
  • 拿了哪些offer,在面哪些公司
  • 阿里腾讯怎么选
  • 选择工作的依据是什么

HR面试的具体问题记不清了,主要是聊人生,和问公司选择

美团

美团全程牛客视频面试,三轮面试,第三轮面试后有事没有整理面经,所以只有一二轮的面经。

2020年8月26日美团一面(50min左右)

  • 重写和重载的区别
  • 返回值可以作为重载的区分标志么
  • ==和equals的区别
  • Long a = 1000L 和 long b = 1000L,a == b返回什么?
  • Long a = 1000L 和 Long b = 1000L,a == b返回什么?
  • Java数据结构了解哪些
  • 如果需要保存放入Map中的顺序,使用什么数据结构
  • HashMap的底层数据结构,如何扩容
  • ConcurrentHashMap如何保证线程安全
  • 会哪些设计模式
  • 介绍一下策略模式
  • 写一个单例模式(coding,写的双重校验锁,用的synchronized)
  • 除了synchronized还有什么锁?
  • 换成ReentrantLock写一下
  • 写一个死锁(coding)
  • 项目中是如何使用MQ的
  • mysql的B+树结构讲一下
  • 数据库的隔离级别,分别解决了什么
  • join的用法
  • left join什么效果
  • 数据库分页的写法limit
  • ACID分别代表什么
  • 网络协议分几层
  • TCP在哪一层?
  • 三次握手四次挥手
  • RPC框架了解哪些,用的什么协议?
  • HTTP的请求方式常用的哪几种,什么区别?
  • 幂等性
  • HTTPS是如何实现的
  • 有git仓库么?
  • 如何学习一项新的语言或者新的技术的?
  • 看过什么博客或社区?
  • 反问

2020年9月1日美团二面(50min左右)

  • 自我介绍
  • 觉得最难最有收获的项目、收获在哪
  • Redis的数据类型
  • 如何解决缓存雪崩(要求说出多种办法)
  • TCP三次握手
  • 树的前中后序遍历有什么区别
  • 排序算法了解哪些
  • 最快的排序算法是什么
  • 讲一下快排
  • 拿了哪些offer、在面哪些公司
  • SpringMVC和SpringBoot的区别
  • MyBatis中如何防止sql注入
  • SQL:表(姓名、科目、成绩),统计每个人的所有科目得分总和(coding)
  • 算法:两个字符串,找出最长公共子串(coding、测试点)
  • 设计:一个每天100w订单量的系统现在要变成1000w以上,如果你是架构师,你如何考虑这个问题

滴滴

滴滴是网约车部门,面试在周末的一个下午,连续三面,途径是牛客视频。

2020年8月30日滴滴一面

  • 自我介绍
  • 滴滴的项目
  • 字节的项目
  • redis怎么用的
  • 分布式锁
  • 滴滴中是什么场景用到了分布式锁
  • 可以优化不用么?
  • 算法:n+1长度数组,内是1~n的数,找出重复的数(要求:时间复杂度O(n),空间复杂度O(1),并且不可以修改原数组,将数组转成链表,用链表求环入口的方式解,需要coding、测试点)
  • 反问

2020年8月30日滴滴二面

  • 自我介绍
  • 字节项目
  • 为什么数据存redis不存mysql
  • 阿里项目
  • 大数据价值理解,一些实时计算场景的问题
  • Blink和Redis(迷惑的问题,这俩有关系么)
  • 批处理和流处理
  • 多线程的使用方式
  • Thread、Runnable、Callable的区别
  • 线程安全的数据结构
  • HashTable和ConcurrentHashMap的线程安全方式
  • JavaNIO
  • IO多路复用
  • 为什么epoll比select快,优化哪些地方
  • Redis中zset的底层
  • 跳表的时间复杂度?为什么?
  • Redis的分布式架构
  • 哨兵模式下的选举算法
  • Redis节点间通信协议
  • 数据库Innodb了解
  • mvcc
  • 算法1:数组的最大连续子数组和(coding、测试点)
  • 算法2:判断二叉树是否是搜索二叉树(coding、测试点)

2020年8月30日滴滴三面

  • 自我介绍
  • 实验室项目、你负责什么
  • 具体讲一下各个状态
  • 如果同时两个管理员进行团标进行审批会不会发生并发不安全
  • 怎么解决?
  • 你觉得项目中最重要的,或者最难的问题是什么?
  • 字节项目,详细讲讲
  • 规则引擎相关
  • 关于项目中redis数据存储和cron的一些问题
  • 项目带来最大的提升
  • 上线后遇到什么问题没有,怎么解决
  • 滴滴项目详细讲讲
  • 各种活动、规则具体怎么配置
  • 奖励计划、奖励实施、奖励追回具体逻辑
  • 为什么春招不选择来滴滴继续实习?
  • 介意换技术栈么(Golang、PHP)?
  • 算法1:打印0~9,用递归和迭代两种方式实现(福利coding)
  • SQL:流水明细表t(流水号、用户姓名、商品名称、单价、数量、日期)统计:8月份消费金额总和最高的前三名用户的姓名(coding)

京东

京东一面是电话+在线代码,二面纯电话面,HR面试没有做记录,时间比较靠后了,有些怠慢。

2020年9月2日京东一面

  • 自我介绍
  • 简单聊了下简历的内容
  • 做个算法题:判断两个字符串是否存在映射关系(1对1映射即可)
  • 代码健壮性
  • 为何抛出异常而不是返回false
  • HashMap的数据结构
  • 解决哈希冲突的办法
  • 最坏的哈希表时间复杂度
  • 红黑树结构的最差哈希表时间复杂度
  • 红黑树为什么可以查找是logn
  • 普通搜索树最差时间复杂度,形状什么样
  • 算法题:给定一个集合,求集合的所有子集
  • 对流处理有什么理解?
  • 反问

2020年9月2日京东二面

  • 自我介绍
  • 实习相关内容
  • 讲一个你觉得最有难度的项目,为什么
  • 规则引擎
  • 实验室项目,状态模式,反射
  • 给一个字符串,怎么反射到类
  • 如何调用方法
  • 获得的构造器对象和直接newInstance有什么区别
  • 多线程用过哪些
  • Callable怎么用
  • 线程池有哪些,如果执行任务,如何获取执行返回值
  • 数据库事务的理解,acid
  • 详细说原子性和隔离性
  • 不可重复读和幻读区别
  • 输入www.baidu.com发生什么
  • 物理层是怎么发送数据到指定mac地址设备的?
  • 载波监听多路访问
  • 让你设计一个抢票系统你需要哪些设计?
  • 限流怎么做?
  • 服务降级是降级什么?
  • 火车票系统和京东秒杀有什么区别
  • 反问

小米

小米一共两面,通过牛客视频面试,没有HR,直接发的意向。

2020年8月19日小米一面(50min左右)

  • 自我介绍
  • 商业互吹,和我讲大数据未来很有潜力,5G什么的,巴拉巴拉
  • 设计一下LRU算法,用什么数据结构,怎么实现?(不用coding)
  • 讲一下什么叫索引回表
  • volatile和原子锁你了解的讲一下(煎饼果子来一套)
  • 公平锁和非公平锁是怎么实现的?
  • 线程池说一下你了解的
  • SpringMVC处理请求url的过程
  • 聊聊Dubbo
  • 平常如何学习?
  • 算法1:二叉树的序列化与反序列化(coding)
  • 算法2:判断二叉树的平衡性(coding)
  • 聊天,聊一聊阿里,问我阿里健康是什么部门,是不是属于蚂蚁金服?难道我长着一张财富自由的脸?
  • 反问

2020年8月20日小米二面(1h左右)

  • 自我介绍
  • 平时开发中有用过什么设计模式?
  • 讲一下策略模式
  • Spring中应该用了很多设计模式吧,说说它们在哪里用了什么模式
  • 说一下AOP中是怎么运用动态代理的?
  • MySQL的索引结构你了解哪些?
  • 为什么用B+树?
  • 你了解MySQL的事务隔离级别么?
  • 如何解决幻读
  • 如何实现可重复读
  • 说出一个数据库死锁的场景
  • 讲一下你理解的乐观锁和悲观锁
  • Java中如何实现乐观锁的?
  • Java哪些地方使用了CAS
  • GC垃圾回收器你了解哪个
  • 讲一下CMS的垃圾回收机制
  • CMS怎么解决内存碎片的?
  • 如果GC日志中发现频繁fullGC,可能是什么导致的?怎么解决?
  • TCP四次挥手为什么,发生了什么?
  • Redis如何解决缓存一致性
  • 更新数据库后,失效redis的key如果失败了怎么办?
  • JVM参数调优(回绝,不会)
  • 算法1:一个升序数组,找出其中绝对值最小的数,要求时间复杂度O(logn)(coding,并且过测试点)
  • 算法2:给定一个单向链表,向右循环旋转k次,返回新的链表头,要求时间复杂度O(n)(coding,并过测试点)
  • 反问

百度

百度提前批面了两面,但是很遗憾挂掉了,虽然面试中自我感觉还可以,莫名其妙死掉了。秋招整体还算顺利,参加面试的公司不多,我是百度得不到的男人。

2020年8月18日百度一面(1h左右)

  • 自我介绍
  • 说说你的项目中你印象最深刻的一个,是怎么做的
  • redis和数据库同步问题,请求之后需要同时更新数据库和缓存,会可能出现什么问题?怎么解决?(先更新数据库,再失效缓存)
  • 除了手动删除缓存,还有什么办法删除?(expire)
  • redis分布式锁
  • setnx和expire是两个操作,可以直接发两个命令么?(不可以,直接用set命令,或者用redis事务)
  • 数据库MySQL存储引擎了解么,说说你常用的,他们的区别
  • Innodb支持行级锁,但是有的时候会导致全表锁,什么时候?为什么?
  • 索引了解么
  • 一个表,a、b、c三个字段,ab有联合索引:
    • select a from t where b = xxx,走索引么?为什么?
    • select a from t where b = xxx and a = xxx,走索引么,为什么?
  • 假如有查询 select a from t where b = xxx order by c,你如何建立索引最高效?为什么?
  • select、where、orderby的执行顺序是什么?
  • 一个salary表,三个字段:p_name(员工姓名), dept(员工部门), salary(员工薪水)
    • 查询平均薪水大于2000的部门中的最高工资是多少,写sql
    • 不使用子查询,还是刚才的问题,写sql(用 having)
    • 现在要多查询一个字段,p_name,怎么做,写sql(没写出来,但是面试官的思路也只是子查询,然后union原表,根据dept和salary相等来判断p_name,我解释说我觉得不能保证唯一性,所以没说,还以为有啥高端操作,但是要知道直接加p_name,会导致聚合报错,但是强行加入聚合字段会导致聚合逻辑出错这一点)
  • Java中HashMap底层数据结构
  • put操作会发生什么?(捋着源码说一下即可:哈希、哈希冲突、如何插链表、转红黑树条件、扩容)
  • 出现什么情况会导致HashMap退化?(频繁hash冲突)
  • 什么情况会导致频繁Hash冲突(解释了HashMap中Hash算法的高低异或避免冲突,说了自定义类没有重写HashCode方法,或者HashCode方法重写的不好,会导致频繁冲突)
  • HashMap如何遍历?顺序可以保持么?
  • LinkedHashMap如何保持插入顺序的?
  • TreeMap怎么用?如何自定义排序规则?
  • 刚才三个Map线程安全么?如果想用安全的Map怎么办?
  • ConcurrentHashMap讲一下你的了解(1.7分段加锁、1.8节点加锁、共享扩容等)
  • 说一下了解的java的锁
    • synchronized原理
    • 锁升级
    • ObjectMonitor
    • juc的AQS
    • volatile内存屏障
  • 算法:二分查找(这个福利算法。。。)
  • 反问

2020年8月25日百度二面(45min左右)

  • 问一下实习经历啥的
  • 介绍滴滴项目
  • SpringBoot和SpringMVC的区别
  • SpringBoot的核心注解?如何实现?
  • SpringBoot的配置文件是什么?
  • appliction.properties和application.yml的区别
  • 聊分哪几个模块,用什么技术栈,我负责哪个模块
  • MySQL事务的概念,事务的特性
  • 事务的隔离级别
  • MySQL建表语句,表名大小写敏感么?
  • 除了Innodb还了解什么存储引擎
  • count(*),Innodb快还是MyISam快
  • SQL:
    • 班主任表(班主任信息)、学生表(学生信息、班主任id)、成绩表(学生id、课程类型、成绩)
    • 查询每个班主任所带学生数量与班主任信息
    • 查询各个班级语文成绩>90的学生人数>10的班主任信息(case then)
  • Redis分布式锁
  • Redis数据结构
  • Redis分布式锁用在项目中的哪些地方?为什么用?
  • 字节中用了Redis哪种数据结构?
  • 了解什么排序算法?
  • 希尔排序和插入排序的区别?
  • 如果数据量大,你选择哪种排序;如果数据量小,你选择哪种排序?为什么?
  • 线上服务有问题,怎么定位?怎么解决?
  • 平时周末有什么爱好?
  • 最近看什么书?
  • 刚毕业未来三年,对自己的职业有什么规划?

更多模拟面试

全部评论

(9) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐