差点跳起来了~全靠这份999页Java面试宝典,我刚拿到抖音开发岗的offer

发布于:2022-11-27 ⋅ 阅读:(276) ⋅ 点赞:(0)

今年的面试比往年要难得多,各个互联网企业对于Java岗位的要求越来越多,也越来越高,主要是初级岗位已经趋近饱和,但高级岗位又相对来说缺乏,这类的人才偏少,因此作为Java开发人员,我们应该思考的是怎么去往高级人才发展,而不是转学其他语言,要懂得去成为金字塔顶端的人,而不是逃避一直做基层的人。

本文主要记录了我面试字节跳动的一个经历以及我在面试前个人的一个准备,当然能够拿到字节的offer,也得益于我拿到一本“Java进阶核心知识集”,收获颇多。

这我啃了足足58天的[Java进阶核心知识集](文末有分享),还是当初朋友面试进大厂后分享给我的。摸熟里边近30个分类的Java知识后,9月下旬鼓足勇气向抖音后端进击,123面(视频面)下来就像开挂了(幸运)。完事之后整理了一下抖音3面面经,我想大家可以参考看看。

抖音后端一面(9.22)(47分钟)

  1. hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移?
  2. Linux的共享内存如何实现,大概说了一下。
  3. socket网络编程,说一下TCP的三次握手和四次挥手
  4. 同步IO和异步IO的区别?
  5. Java GC机制?GC Roots有哪些?
  6. 红黑树讲一下,五个特性,插入删除操作,时间复杂度?
  7. 快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少

抖音二面(9.23)(60分钟)

  1. 自我介绍,主要讲讲做了什么和擅长什么
  2. 设计模式了解哪些?
  3. AtomicInteger怎么实现原子修改的?
  4. ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?
  5. redis数据结构?
  6. redis数据淘汰机制?

抖音后端三面(9.27)(85分钟)

  1. mysql实现事务的原理(MVCC)
  2. MySQL数据主从同步是如何实现的?
  3. MySQL索引的实现,innodb的索引,b+树索引是怎么实现的,为什么用b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。
  4. 如果Redis有1亿个key,使用keys命令是否会影响线上服务?
  5. Redis的持久化方式,aod和rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么?
  6. 遇到最大困难是什么?怎么克服?
  7. 未来的规划是什么?
  8. 你想问我什么?

总体感觉,一二面比较舒适,三面卡壳了一下(个人觉得不是很理想),所以个人觉得基础很重要,要好好打磨,然后进阶部分理论加实践一起,可以事半功倍。在面完两天之后HR就通知我过了。。一下子就沸腾了。。哈哈哈。。那么说到这里可能有很多小伙伴比较好奇我在文章开头说的啃了足足58天的[Java进阶核心知识集]到底是何方神圣,好吧,给你看看(笔记好东西要大家一起看才香)

Java进阶核心知识集

内容过多,有近30个专题的Java核心知识集,不多说,来一份超长目录,眼见为实。

关于算法

字节必备算法,所以对于算法这一块,咱们还是得往死里刷刷刷,最好的是刷《算法刷题LeetCode中文版》以及左程云大神的《程序员代码面试指南 IT名企算法与数据结构题目最优解(近200道)》

  • 先看我手上的《算法刷题LeetCode中文版》
内容包含:线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图

算法刷题LeetCode中文版

  • 左程云大神的《程序员代码面试指南 IT名企算法与数据结构题目最优解(近200道)》

PS:可以挑战一下自我,在不看答案解析(附源码)的情况,试试自己能否搞定
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到