从3月初开始面到4月底,社招两年经验, 先后面了 有赞、华为(OD)、微众、shopee、字节跳动、腾讯、阿里巴巴。在看机会的时候在牛客网刷到很多优秀同学的面筋很有收获,
这里想着趁着这个假期分享一点有用的东西希望能帮助到刚毕业不久的后端同学。
在分享前先打个广告:深圳阿里-国际化电商中台,招2到8年的后端(java)同学,走内推通道。有在看机会的同学可以备注 牛客网求内推 + 个人简历 发送到个人邮箱 ahang24@foxmail.com
先来聊一下我自己的个人规划以及自己前两年点的技能树:
一. 数据结构和算法
1. 系统看完极客时间上的数据结构算法课
2. 牛客网的剑指offer算法题
3. leetcode上刷了大概100左右, 自己写出来并看最优解
二. 基础篇
1.系统看过几遍<<深入理解JVM>> + 平时工作中的jvm调优
2.工作中用到的过的集合类或者多线程尽量用零碎时间了解源码
3.系统看完多线程相关 <<并发编程艺术>>
4.DB相关: <<redis设计与实现>> + <<高性能Mysql>> 以及工作中的mysql调优
5.设计模式
6.编程规范 阿里的<<java开发者手册>>
7.网络相关。 网络基础入 http相关。
8.操作系统相关知识, IO多路复用原理、虚拟内存....(大学学过相关知识,复习一下高频考点)
三. 分布式相关
1. 限流、熔断策略和原理、 分布式锁的实现。
2. MQ相关知识,kafka建议阅读官方文档,以及kafka如何保证消息的可靠性传输等...
3. redis主从+哨兵、 mysql主从 的数据怎么同步。
4.RPC调用原理, dubbo+zookeeper那一套。
5.mysql的分表分库..
下面到了各个公司的面筋了. 过的有点久记得可能不太清楚
腾讯
一面 (1个半小时)
疫情严重的时候远程面试,一面时间有点久。
1. 项目相关,没啥参考性。
2. 怎么实现从亿级数据中判断重复的手机号
3.tcp、udp区别
4.常用的linux指令,查看进程、去重、查到丢包指令
5.redis的集中常见数据结构以及内部实现
6.kafka如何保证消息可靠传输
7.分布式锁的实现方式
8.做过哪些mysql优化
9.mysql索引的数据结构 B+树相关
10.两道算法题,难度leetcode的 easy 以及 easy和middle之间。题目忘记了,算法难度不大。
二面(35分钟)
1.项目相关
2.项目生产的 服务器数据、kafka的流量数据、mysql的数据量以及高峰期的qps和tps,怎么去做优化。
3.快排的时间复杂度,最坏的情况描述。
4.tcp和udp区别
5.http相关
6.linux指令、查看进程、丢包...
7.有没有linux开发经验、有没有go开发经验... 只会java
8.有什么想问我的吗?
二面挂的有点没太明白,后面复盘可能是匹配度不够。
字节跳动
字节的面试特色: 1. 先一道算法题(要求bugfree)30到40分钟,然后开始问技术。
一面(60分钟 算法30分钟 + 面试30分钟)
1.算法30分钟。 题目忘记了..难度leetcode medium
2.问项目,没啥参考性
3.https的过程
4. synchronized关键字和 volatile关键字
5.mysql做的优化、以及索引相关如 B+树的实现,怎么优化的..
6.AQS相关以及获取锁的源码
7.多路复用的实现
8.spring相关,bean的生命周期
8.其他的有点记不清了..
二面(60分钟 算法30分钟 + 面试30分钟)
1.算法30分钟。 leetcode medium
2.设计一个短路径的网址。
3.mysql优化。B+树数据结构、做过哪些优化
4.kafka如何保证消息的可靠传输
5.redis的对象以及数据结构,讲讲zset。
6.jvm优化经验,可以讲讲做过哪些优化吗。
7.类加载的双亲委派原则
8.mysql索引的用法以及实现
9.限流的实现方式
...
三面(40分钟)
1.深入问了项目细节,承担的角色,遇到的难点。
2.看过哪些spring源码,讲讲看你熟悉的。spring的启动过程
3.最近看过那些书,未来的规划。聊了会人生。
4.有什么问题要问我的吗。
字节跳动的难度个人感觉在手撕算法上,一二面的上来就是一道算法题还要求bugfree。 算法+基础+系统设计,算法过关后面2个还可以感觉字节就比较稳了。
插播一个个广告:深圳阿里-国际化电商中台,招2到8年的后端(java)同学,走内推通道。最近疫情好转,组里HC变多,有在看机会的同学可以备注 牛客网求内推 + 个人简历 发送到个人邮箱 ahang24@foxmail.com
全部评论
(21) 回帖