人人都想进大厂,当然我也不例外。我就有向某某某大厂投岗了不少简历,可惜了那时自身也有问题,导致屡投屡败。突然也意识到自己肚子里没啥货,问个啥都是卡卡卡卡,后期下定决心好好弥补我的知识与智商,天天扎在书堆里,再加上实操,自我感觉还是不错的,有进步。
尤其是这我啃了足足 58 天的[Java 进阶核心知识集](文末有分享),还是当初朋友面试进大厂后分享给我的。摸熟里边近 30 个分类的 Java 知识后,7 月下旬鼓足勇气向抖音后端进击,123 面下来就像开挂了(幸运)。完事之后整理了一下抖音 3 面面经,我想大家可以参考看看。
抖音后端一面(7.22)(47 分钟)
1. 自我介绍之后直接问问题。。
2. hashmap 底层实现
3. java 线程池参数,以及具体使用流程
4. mysql 底层为什么不用 b 树,b*树,而用 b+树。
5. 写了个 sql 语句(很简单的联表查询)
6. sql 语句中,表逗号表,sql 会如何优化
7. 连接时 mysql 底层是怎么做的
8. 记性不太好,忘了很多题...
9. 算法题:
(1)经典[1,2,2,2,3]找出数组中超过一半的元素
(2)给定正整数 n,问 1-n 组成的二叉搜索树有多少
抖音二面(7.23)(60 分钟)
1. tcp 三次握手
2. 两次为什么不行(这题经典,但是没有组织过语言又紧张,导致答得稍微有点乱)
3. java synchronized 关键字的理解
4. 介绍一下 AQS
5. 获取不到锁时,AQS 阻塞的具体流程
6. redis 的基本数据结构
7. 热点数据
8. zset 底层如何实现
9. zset 取单个数据的时间复杂度
10. 跳跃表的原理
11. 消息队列
12. mysql 索引最左前缀匹配
13. 有些题忘记了...
14. 算法题:
(1)二叉树的左视图
(2)面值[1,3,4]的硬币,输入 n,输出最少组成 n 的硬币个数以及组成的硬币
抖音后端三面(7.27)(85 分钟)
三面面试官看起来比较严肃,先看了看简历,开始问项目。
问到 mysql 索引最左前缀(信誓旦旦的说我的理解,后来发现自己好像偏离了,吐血)
1. 两个二叉树的合并(上来就直接说层序遍历)
2. 设计题,设计一个类(开始没有 get 面试官的点,不过幸好面试官提示了一下)
3. 智力题,100 个硬币,30 正,70 反。问:分成两堆(随意分),把其中一堆全翻过来,两堆硬币朝上个数相等,问怎么分。
总体感觉,一二面比较舒适,三面卡壳了一下(个人觉得不是很理想),所以个人觉得基础很重要,要好好打磨,然后进阶部分理论加实践一起,可以事半功倍。在面完两天之后 HR 就通知我过了。。一下子就沸腾了。。哈哈哈。。那么说到这里可能有很多小伙伴比较好奇我在文章开头说的啃了足足 58 天的[Java 进阶核心知识集]到底是何方神圣,好吧,给你看看(笔记好东西要大家一起看才香),若是觉得不错,小编也能给你分享,打开——【java进阶核心知识集】
Java 进阶核心知识集
内容过多,有近 30 个专题的 Java 核心知识集,不多说,来一份超长目录,眼见为实。
部分的详情内容如下,不便全部展示,但可提供原件免费下载
关于算法
字节必备算法,所以对于算法这一块,咱们还是得往死里刷刷刷,最好的是刷《算法刷题 LeetCode 中文版》以及左程云大神的《程序员代码面试指南 IT 名企算法与数据结构题目最优解(近 200 道)》
先看我手上的《算法刷题 LeetCode 中文版》
内容包含:线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图
算法刷题 LeetCode 中文版
左程云大神的《程序员代码面试指南 IT 名企算法与数据结构题目最优解(近 200 道)》
题目如下,完整的答案解析(有源代码)
PS:可以挑战一下自我,在不看答案解析(附源码)的情况,试试自己能否搞定,需要2022最新版大厂面试真题集打开——【java核心知识集】即可