总结
三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
- 第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有23个章节:
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
抖音Java岗后端一面(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组成的二叉搜索树有多少
抖音Java岗后端二面(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的硬币个数以及组成的硬币
抖音Java岗后端三面(7.27)(85分钟)
三面面试官看起来比较严肃,先看了看简历,开始问项目。 问到mysql索引最左前缀(信誓旦旦的说我的理解,后来发现自己好像偏离了,吐血)
1. 两个二叉树的合并(上来就直接说层序遍历)
2. 设计题,设计一个类(开始没有get面试官的点,不过幸好面试官提示了一下)
3. 智力题,100个硬币,30正,70反。问:分成两堆(随意分),把其中一堆全翻过来,两堆硬币朝上个数相等,问怎么分。
总体感觉,一二面比较舒适,三面卡壳了一下(个人觉得不是很理想),所以个人觉得基础很重要,要好好打磨,然后进阶部分理论加实践一起,可以事半功倍。在面完两天之后HR就通知我过了。。一下子就沸腾了。。哈哈哈。。
那么说到这里可能有很多小伙伴比较好奇我在文开头说的啃了足足58天的[Java进阶架构核心知识集]到底是何方神圣,好吧,给你看看(好东西要大家一起看才香,下载请点击这里)
Java进阶架构核心知识集
内容过多,有近30个专题的Java核心知识集,不多说,来一份超长目录,眼见为实。
关于“面试造火箭”
面试造火箭,工作拧螺丝!说白了面试官就是要知道你的知识宽度有多大,那么只有一个解决办法,那就给我往死里刷刷刷刷!
想要刷题呢,首先你得有一套完整的“Java面试题集”,我就有整理这么一套的面试题集天天刷——《“java高分面试指南”-25分类227页1000+题50w+字解析》
Docker步步实践
目录文档:
①Docker简介
②基本概念
③安装Docker
④使用镜像:
⑤操作容器:
⑥访问仓库:
⑦数据管理:
⑧使用网络:
⑨高级网络配置:
⑩安全:
⑪底层实现:
⑫其他项目:
片转存中…(img-LfDIBW7d-1715545344522)]