秋招拿了阿里、腾讯、美团、滴滴、京东、快手、小米的offer,如今回馈牛客,分享一下当时的面经。有些面试由于比较晚,所以没有记录。比如快手,当时已经有了几个意向,就比较懈怠,没有总结。
参加了阿里的暑期实习,所以秋招获得了绿色通道,面试流程较短,一轮GM面,一轮直属Leader面。
GM面
CAP理论与BASE理论
thrift的负载均衡
dubbo的序列化方式
一个rpc框架,生产者提供了枚举类型,但是后来修改了枚举,客户端没有更新,会产生什么问题?
一些性格方面的闲聊问题
直属Leader面
实习,聊各种实习项目
所有项目中,你遇到最大的困难是什么,收获了什么
如何学习新技术
MySQL和Redis主从复制
rpc调用原理
注册中心原理
注册中心挂了怎么办,一直深入这个问题
dubbo和thrift区别
数据库慢查询如何处理
线上问题排查
不用arthas
最近在学什么
对jvm调优的理解
项目中用的哪个gc
毕设题目
c语言和java语言的内存模型区别
为什么不留在阿里健康
g1如何并发清除
腾讯是秋招第一家面试的公司,一面二面现场面,三面GM面隔了很久电话面。
自我介绍
了解阿里健康的业务么
你觉得阿里医院这个项目前景如何?
在滴滴,redis用了什么数据结构
MySQL用的是什么存储引擎
Innodb如何设置事务,你了解Innodb的事务机制是什么样
在滴滴,是如何使用RocketMQ解耦的
算法1:给定有序数组,求两个和为n的数
算法2:给定无序数组,求两个和为n的数
算法3:给定一个数组,数组内数字代表柱体高度,此时如果下雨,整个范围可以采集雨水多少?
自我介绍
Blink是阿里基于Flink开发的还是封装了一下?
在字节的项目你参与推荐算法了么,你们是什么推荐逻辑?(规则引擎、定时筛选)
筛选后的车系信息存储在redis里,使用什么数据结构?
set和zset的区别?
这些信息如何读取?
如果在读取的同时正在插入信息怎么办?(redis事务)
介绍redis事务
不使用事务如何解决?(备份内存,读写分离)
如果不用这种办法,你还有其他方法么?(分布式锁)
介绍分布式锁
innodb如何实现事务(mvcc、间隙锁)
B+树只有叶子节点存放数据,那会产生什么变化?为什么要这样的结构?
算法1:链表中删除重复节点(思路比较简单,但是考验链表coding能力,手写,面试官会裸眼编译。。)
设计题1:实现一个内存拷贝函数(memorycopy,入参是一个任意类型的指针,返回拷贝后的内存地址)
设计题2:邮箱验证中的链接,如果实现仅一次有效,如何实现有效期30分钟,要完整设计思路,并给出url样例
总结:问题均发散问题,很少知识点的固定考核,更多知识点的应用结合,临场发挥因素较大,算法难度不高,但是所有都需要手撕coding。
自我介绍
详细聊了聊项目,实习的,实验室的都问了,追问不多,对数据开发很感兴趣
两个大文件,每行一个字符串,A文件1T大小,B文件2T大小,求两个文件的交集
晚饭时间到了,你如何给一个人推荐饭店?
反问
2020年9月4日腾讯HR面(30min左右)
自我介绍
优势劣势
之前实习的体验
阿里滴滴字节的公司文化
拿了哪些offer,在面哪些公司
阿里腾讯怎么选
选择工作的依据是什么
HR面试的具体问题记不清了,主要是聊人生,和问公司选择
美团全程牛客视频面试,三轮面试,第三轮面试后有事没有整理面经,所以只有一二轮的面经。
重写和重载的区别
返回值可以作为重载的区分标志么
==和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仓库么?
如何学习一项新的语言或者新的技术的?
看过什么博客或社区?
反问
自我介绍
觉得最难最有收获的项目、收获在哪
Redis的数据类型
如何解决缓存雪崩(要求说出多种办法)
TCP三次握手
树的前中后序遍历有什么区别
排序算法了解哪些
最快的排序算法是什么
讲一下快排
拿了哪些offer、在面哪些公司
SpringMVC和SpringBoot的区别
MyBatis中如何防止sql注入
SQL:表(姓名、科目、成绩),统计每个人的所有科目得分总和(coding)
算法:两个字符串,找出最长公共子串(coding、测试点)
设计:一个每天100w订单量的系统现在要变成1000w以上,如果你是架构师,你如何考虑这个问题
滴滴是网约车部门,面试在周末的一个下午,连续三面,途径是牛客视频。
自我介绍
滴滴的项目
字节的项目
redis怎么用的
分布式锁
滴滴中是什么场景用到了分布式锁
可以优化不用么?
算法:n+1长度数组,内是1~n的数,找出重复的数(要求:时间复杂度O(n),空间复杂度O(1),并且不可以修改原数组,将数组转成链表,用链表求环入口的方式解,需要coding、测试点)
反问
自我介绍
字节项目
为什么数据存redis不存mysql
阿里项目
大数据价值理解,一些实时计算场景的问题
Blink和Redis(迷惑的问题,这俩有关系么)
批处理和流处理
多线程的使用方式
Thread、Runnable、Callable的区别
线程安全的数据结构
HashTable和ConcurrentHashMap的线程安全方式
JavaNIO
IO多路复用
为什么epoll比select快,优化哪些地方
Redis中zset的底层
跳表的时间复杂度?为什么?
Redis的分布式架构
哨兵模式下的选举算法
Redis节点间通信协议
数据库Innodb了解
mvcc
算法1:数组的最大连续子数组和(coding、测试点)
算法2:判断二叉树是否是搜索二叉树(coding、测试点)
自我介绍
实验室项目、你负责什么
具体讲一下各个状态
如果同时两个管理员进行团标进行审批会不会发生并发不安全
怎么解决?
你觉得项目中最重要的,或者最难的问题是什么?
字节项目,详细讲讲
规则引擎相关
关于项目中redis数据存储和cron的一些问题
项目带来最大的提升
上线后遇到什么问题没有,怎么解决
滴滴项目详细讲讲
各种活动、规则具体怎么配置
奖励计划、奖励实施、奖励追回具体逻辑
为什么春招不选择来滴滴继续实习?
介意换技术栈么(Golang、PHP)?
算法1:打印0~9,用递归和迭代两种方式实现(福利coding)
SQL:流水明细表t(流水号、用户姓名、商品名称、单价、数量、日期)统计:8月份消费金额总和最高的前三名用户的姓名(coding)
最后提供免费的Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。点击这里备注csdn,自行下载即可,还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!