首页 > 社招2年不到,跳槽经验分享(含阿里滴滴美团快手头条)
头像
-探酷哥
编辑于 2021-08-28 00:41
+ 关注

社招2年不到,跳槽经验分享(含阿里滴滴美团快手头条) 内部员工回复

最近准备跳槽,先后面试了各大小公司,拿了一些offer,有阿里,滴滴,快手,达达,得物等公司。面试的公司大部分都能过,所以这里给大家分享下自己的经验,也给自己做个归档,希望能给正在准备跳槽,找工作的朋友一点帮助。
Ps:楼主目前去了快手,快手福利待遇在互联网算上层,住房补贴,下午茶,包三餐,加班双倍工资等等.来快手的欢迎找楼主内推,在线指导,帮忙评估简历,全程跟踪状态。
(校招内推链接:
可以直接投递)

面试轮廓

面试这么久,大概流程都是找人或者自己投递之后,简历评估通过约面试,一般公司部门之间相对独立,面试不过,可以迅速换部门重新评估。面试一般分为三轮+hr面。三轮面试,一般是直属主管,部门交叉面,大部门主管三轮;具体面试都是先自我介绍,然后问你具体的项目,以及项目中最优难点的部分,然后就是基础知识,在问项目的时候也会穿插着问些基础只是,最后是算法题,每个部分都不能拉垮,算法题不做出来很难过面试,所以小伙伴要多刷题。算法题的难度也看部门是否缺人,如果很想要你的话,算法题不会太难,面试也不会太深,不会恶心你,所以面试也是看缘分。

面试准备


简历
简历不建议太复杂,太多,项目写三四个即可,把自己平时的工作和项目总结下来,保证简历里面都是自己熟悉的项目。一般的面试很大一部分都是会跟着你项目去问,看看你对项目了解是否深入。
建议简历中要写上技术栈总结,个人总结,还有项目。这三个模块尽量突出,让面试官能一眼看到重点。如果不介意可以把简历发给我帮忙评估修改。
推荐一个简历模版平台,因为设计广告嫌疑,可以私聊我或者在评论区留言模板获取

怎么投简历
一般是找熟人内推,或者上Boss直聘,或者脉脉上找人内推。楼主认识各大厂的朋友,可以帮忙内推~全程跟踪状态,即时调整作战路线。

下面就是针对技术来说,最核心的部分了,准备好了简历,剩下的就是需要把面试八股文和算法好好准备了。
算法
算法不用说了,基本上大厂标配。一般刷100到200道题目。楼主前前后后一两个月,一边面试一边刷题。建议准备早的同学,一定要刷题,lectcode & 牛客算法 200道热门题目尽量都刷一遍,自己也需要进行总结。

知识复习
如果时间充裕,还是建议小伙伴看书,因为你在各大论坛看的帖子其实都是从书上搬运的。所以系统一点,还是建议小伙伴看书。
Java基础:收集了一版八股文可以评论区留言
JVM:深入理解Java虚拟机(最新版)
高并发与多线程:Java并发编程的艺术,Java多线程编程核心技术(嫌麻烦可以看视频的,可以在评论区留言,并发学习视频)
Mysql:高性能MySQL,MySQL技术内幕
Redis:Redis设计与实现,Redis开发与运维
Kafka:深入理解Kafka:核心设计与实践原理
zookeeper:从Paxos到Zookeeper分布式一致性原理与实践
Hbase:HBase原理与实践
其他的知识小伙伴根据自己的技术栈进行学习了
电子版pdf还有面经学习视频可以在评论区留言获取

项目
项目是面试很重要的模块,需要把平时的项目好好总结下,保证写到简历上的项目都能很好的说出难点和业务细节,多去思考自己项目架构的CAP设计与应用。
一般的面试套路也就是,介绍下项目,然后说下项目的中最难的,以及怎么解决的;介绍下项目中的难点等等。

面经

面经📎断断续续整理了部分,小伙伴可以按需参考

哈啰
哈啰一面:
object的常见方法?
Hashmap put的方法?resize介绍下?有那些线程安全的hash?说下hashtable,说下connrntnHashmap?
线程池说下比较核心的几个参数?线程池处理逻辑
spring有了解吗?
zookeeper有了解吗,简单介绍下?
zookeeper脑裂的时候怎么处理的?异常恢复?
redis的lua用过吗?如果lua处理一批key,从主从角度看看会有什么问题?
Redis 的key失效之后,会怎么处理?
jvm内存有了解妈?
Threadlocal有了解吗?
gc算法有了解妈?cms说一下?stw在那几个阶段?
有自己去分析gc的日志吗?gc的日志的user system 有了解吗?
有处理过一些full gc,新生代gc的情况?
服务异常重启----》有做qps限制吗?,自己限制队列大小是不是还有风险?
场景题:一个2g的文件,500mb的内存机器,对2g的文件进行去重。
答案:对key进行hash,得到对应的值,至少知道那些可能重复,放到hashset中进行去重

哈啰二面:
先做个自我介绍吧?离职原因是什么?
熟悉那方面的东西?
kafka的原理熟悉吗?
说下topic和offset逻辑?
说下mq的优缺点?
多线程怎么使用的?
使用kafka怎么做一个多线程的模型?以及怎么保证有序性?
怎么定位gc问题?
怎么做到线程去关闭另一个线程?

米哈游
米哈游一面:
自我介绍,重点介绍下,主要负责的项目,以及部分有什么难点,能体现技术能力的?
打点系统如果设计的话,需要考虑那些点?--》考察架构设计
一个查询的系统的性能瓶颈会出现在什么地方?
Cpu 100% 的话问题怎么排查?
服务器内存溢出?
堆溢出,和栈溢出?解释下堆和栈的区别?
客户端与服务端的通信机制?服务端向客户端推送消息?
分布式锁的实现方案?设计分布式锁需要考虑什么?Redssion?Redlock?
用到那些类库?Juc?Guava?
集合类中的Map?线程安全吗?有线程版本的吗?声明成voltile是线程安全的吗?
hashmap中的key怎么排序?
Redis的过期策略?
Redis的淘汰策略?
缓存读写不一致有什么好的方案?
redis中的lru有了解吗?自己实现一个lru怎么实现?
平时自己会去学习什么新的知识?这样可以了解你的知识宽度?
hashmap源码?
redis底层实现?

米哈游二面:
push怎么保证消息不丢失?kafka怎么保证数据不丢失?生产者要做那些准备?
talos怎么比kafka更好的?
RabbitMQ了解吗?
Kafka 分区能缩容吗?
tcp怎么保证他的可靠传输?除了三次握手和四次挥手,还有其他的吗?或者他是怎么保证数据的丢失?拥塞控制有了解吗?
udp能实现可靠传输吗?
四次挥手,最后一步的time——wait是什么作用?
关闭的时候,端口的分配导致的阻塞,有什么好的办法优化吗?
jvm类加载的过程?说下验证具体是什么?初始化具体是什么?
jvm中的系统shutdownhook在什么情况下会执行?https://www.cnblogs.com/zhchoutai/p/7271972.html
即使编译器了解吗?
序列化知道吗?java中有两个序列化接口?
connrurntHashMap中的优化简单说说?使用中出现cpu飙升,怎么排查?会有什么原因导致?
lock中的condition有用过吗?有什么区别?
redis的持久化?你一般怎么选择?rdb细节,aof细节,为什么rdb性能更好,页模块共享,提升性能?
跳表介绍下?
mysql中的explain中有一些比较重要的参数?
rpc中的thrift有原理是什么?为什么快

达达
达达一面:
介绍下自己
设计一个用户画像系统业务 + 技术实现
说下所做的项目?
为什么要换工作?
了解过什么技术?说下
想从事什么方向的工作?
kafka与talos的区别?

达达二面:
介绍下你的push业务?说下最复杂的模块?qps多少?怎么做到这么大的qps?怎么优化的
kafka的机制说下?平时怎么设计?parttion比consumer多怎么处理?counsumer宕机了怎么处理?brokeer宕机了怎么处理?这个时候能对外提供服务吗?怎么保证不会重复消费?或者怎么做到业务强一致性?
Hbase 底层存储是hdfs,说下为什么底层会很快?Blockcache 和memcache 如果宕机了怎么处理?
Hbase 列的设计是多少?列族太多是不是不太好?
你有什么要问我的?

得物
得物一面:
介绍下java锁相关得
介绍下hashmap
介绍下chashmao
介绍下代码中哪里用到多线程
介绍下推送系统的架构吧
9点钟推送一个消息,消息推送大概多久?
说下mysql和hbase的对比
hbase的rowkey设计?
业务中zookeeper的应用?说下服务注册与发现?说下zookeeper的内部选举?怎么保证只有一个master?
Mysql介绍下索引?底层实现?innodb中juzu和非juzhu索引底层的存储有什么区别?底层怎么存储的?
redis有了解吗?业务中怎么用的?介绍下分布式锁吧?锁失效怎么控制的?锁需第三方插件?

得物二面:
上一轮面试聊得那些感觉不满意得地方?
为什么换工作?
业务核心的部分是那些?
业务怎么保证高可用的?
hashMap?中的key能添加对象吗?为什么?需要重写Object对象吗?怎么排序一个list中对象?
什么叫高并发?怎么理解高并发的?那redis是高并发的吗?需要做控制吗?
多线程说下有那些?syn和lock的区别?wait和notfit能不能用?除了这些还有那些功能上的区别?
为什么要用多线程,单线程的坏处是什么?平时业务中有用到吗?
线程池简单说下?工厂方法怎么用的?拒绝策略为什么用callable?不是说牺牲一致性了吗,为什么不能直接丢弃?
Mysql 索引一般怎么用的?怎么建索引?一个订单状态只有三个,需要加索引吗?
说下mysql的锁是什么?怎么工作的?什么时候会用到?怎么维护的?索引太多会有什么影响?

叮咚买菜
叮咚买菜一面:
介绍下你项目的主要流程,以及你负责那些模块,以及你担任的位置?还有技术栈?
细化下push整个流程?
你们怎么做业务到内部的的映射?
在线和离线这个两块的逻辑?
如果设备一直不在线,那么离线消息会怎么处理?
说下zk和redis使用场景是什么?
zk作为配置中心怎么使用的?
为什么会去拿zk做服务的注册与发现?说下使用中的优缺点?
因为网络等问题导致zk的重新选举过程?
zk服务如果出现异常,或者是在崩溃恢复的时候导致无法提供服务时怎么处理?
答案:做个多级缓存,存储一些基本的信息,保证服务的正常
redis在业务场景使用情况?缓存策略?缓存穿透的设置策略?
先更新数据库再删除缓存,如果删除缓存失败怎么处理?
redis做分布式锁怎么处理的?业务场景是什么?业务如果出现问题,怎么进行判断是否是异常还是续约场景?对于独立的不可延续的请求怎么处理?

滴滴
滴滴用户增长一面:
说下你做过那些项目,那些比较核心的?有难点的?
你刚刚提到设计模式?说下用到那些?什么是责任链模式?怎么用?
If else 这种你用会用什么设计模式去优化?策略模式?你怎么用?业务场景假如是vip算法,vvip算法?
项目中还有那些是比较熟的?
Redis底层的数据结构你知道吗?跳表知道吗?大概的工作原理是什么?搜索一个数的流程是什么?
redis的集群中哨兵和集群模式的区别?
redis的缓存预防击穿和雪崩的怎么处理的?除了这些还有什么更好的方案?持久化,spring cloud限流防止雪崩;idc分区;定时补偿key的失效时间;设置一个永久/大/多个ket的值的值兜底;续期。
如何设计一个限流器?令牌(信号量)/随机分流,没有严格限制量;针对不同的限流场景,比如针对模糊的,根据实际的场景设计限流机制+时间窗口,比如空闲90%以上量,触发限流。
zk你们只要怎么使用?
kafka跟常见的MQ的对比你知道吗?
kafka怎么保证顺序消费的?
kafka是怎么防止消息重复提交的?broker上存储提交的日志,知道是否提交过
说下hbase和mysql的优缺点?
列存储和行存储在查询上有什么优劣势?
redis的分布式锁?锁到期问题怎么处理?
redis的过期你知道吗?有哪三种?
缓存更新策略?为什么不用先删后写?一是脏数据,二是写请求失败,那数据必脏
数据库的脏读幻读介绍下?


滴滴二面:
自我介绍,还有项目
推送到达率在多少?怎么做到这么高的送达率?为什么用hbase?
Spring aop和ioc?
redis商业化主要的用途?
redis持久化方案说下?
mysql慢查询优化介绍下?
Nginx是进程模型还是线程模型?
算法题:找到所有的非质数


滴滴三面:
自我介绍,介绍下项目
Redis 介绍下常用的数据结构,string和map的底层实现,string底层实现有那些特别的细节
分布式锁有那些实现方式?介绍下,redis实现的分布式锁的具体?
算法题:合并两个集合

快手
快手一面
简单自我介绍下,说下业务中比较复杂的模块。
你知道redis吗?redis的集群介绍下?集群分片是在一端进行的?本机还是redis服务器?数据没有查到会进行转发吗?分片是存储在哪?应该是存储客户端的?
redis跟其他的比有什么好处?说一个memcache做不到的场景?
redis的性能怎么样?IO多路复用介绍下?为什么要设计成单线程?主要是难在开发难度吗?
redis的过期策略介绍下?底层怎么实现的?
最近有看过什么技术的东西?
LinkedList一般用在什么场景?什么叫链表的查询性能?arraylist的查询性能要比linkedlist好吗?数组的查询快吗?为什么快?
JVM内存分配介绍下?老年代一定需要吗?我不要老年代,只用新生代处理会有什么问题?说下那些地方是属于耗性能的?新生代越大越好吗?说下parNewgen多线程的过程?GcRoot会选择那些?说下什么是栈局部变量?结构是什么?
做个题目,层序遍历变种


美团
美团一面:
自我介绍,介绍下项目
介绍下redis中的持久化,rdb的恢复过程,怎么保证数据的完整性?aof很多操作日志对存储有压力?
redis一般在项目中的场景有那些?
Redis 缓存在使用中会有什么风险?
redis缓存的热点数据是如何识别的?
对热点数据有那些解决方案?
悲观锁与乐观锁介绍下?在数据库中有什么应用?项目中有应用吗?
java乐观锁的应用?他有什么缺点?
数据库的默认事务隔离级别?解决了什么问题?(说错了)
数据库中的分页查询语句?为什么offset很大的时候影响性能?说下具体的查询逻辑
mysql创建的字段,double类型会有什么问题?mysql浮点数的字段类型
编程题:dp 查询最少路径
kafka有读过源码码?
kafka的消息怎么保证有序的?

美团一面:
自我介绍,总结下项目
介绍下xmpush架构
消息量特别大怎么处理 异地多活
hashMap怎么解决hash冲突的?
类加载的顺序
线程池介绍下
FutureTask用过吗
美团的一个页面需要请求多个数据,如何处理?
spring用过吗?servelet的过程介绍下?
redis中的热key 大key怎么处理的?
kafka的特性是什么?为什么如此之快?令拷贝是什么?确定吗?
queue的积压怎么处理?怎么增加消费的能力?
paritition会出现读两次吗?
kafka怎么保证同步一定是成功的?
kafka怎么保证消息不丢?
kafka怎么保证消费有序的?
平时会用到ES吗?ES数据很大,几个T,查询很慢,怎么优化?
检索手机购买记录?索引怎么优化?es支持那些类型?那些类型支持分词和精修的
Mysql,联合索引中的最左匹配原则?为什么会有这个原则?底层实现是什么?
慢sql,怎么去优化?explian这个介绍下
Select * 和select 特别的字段有什么区别?


抖音
抖音一面:
自我介绍
介绍下xmpush的架构,项目相关
说下数据库的事务,介绍下悲观锁和乐观锁
valotile介绍下
设计一个点赞计数系统,说量用redis记录,面试官问redis合适吗?Habse 对于热门数据怎么处理?量很大的话怎么处理?怎么扛住高的QPS?
做个题目吧 二叉树公共祖先节点的节点最大值

全部评论

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

推荐话题

相关热帖

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

热门推荐