最后
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
Java核心知识
- Spring全家桶(实战系列)
- 其他电子书资料
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
字节跳动三面:
-
jdk8 默认的垃圾回收器, 知道哪些垃圾回收器? G1 详细说一下
-
synchronized 关键字的底层是什么?
-
线程之间哪些资源是共享的? 什么是独享的?
-
堆和栈有什么区别?
-
linux 查看资源的命令?怎么样查看哪些端口被占用了
-
linux 内存中 swap 是什么? 什么用?
-
用户态和内核态的区别? 为什么要有用户态内核态区别?
-
中断有哪些类型,区别?
-
死锁概念?条件?
-
算法题:奇数位递增偶数位递减的数组,排序
-
get,post 区别?
-
get 可以缓存?在 INTP(?没听懂在哪)里是怎么实现的?
-
写 sql,group by 的查询?
-
mySQL 的搜索引擎?innodb 和 myISAM 的区别
HRBP 面:
-
自我介绍
-
为什么在看机会呢?在看什么类型的机会呢?
-
为什么看头条的机会?
-
你觉得头条是一家什么样的公司?
-
朋友同事如何评价你?
-
平时都有哪些兴趣爱好呢?
-
在原公司最享受的阶段是什么时候?为什么
-
你对我们的业务方向了解吗?
-
你对我们的业务方向和技术感兴趣吗?
吸收经验,参考总结,制定计划,实施行动
===================
所谓的列出计划,实际上就是在我们的学习方式上,要有一个明确的目标和步骤,不管你是学习什么类型的,都要有一套自己的学习计划,否则很容易出现“漫无目的”的情况。
那么一个计划应该怎么制定呢?以下就是我制定计划的一个步骤:
Step1:时间规划
首先第一步就是要有属于自己的一个时间规划,所谓的时间规划实际上就是时间管理,比如你要学习某一个技术栈时,规定一个时间段,要求自己完成。
附上我之前的一个时间规划表:
Step2:列出要学习的知识点
列出要学习的知识点,首先要列出学习的技术栈,然后关于这个技术栈我们要学习到哪些知识点,比如要学习 Redis,那么除了 Redis 基础部分以外,那就需要了解缓存、持久化机制、雪崩、穿透等。再高级一点的技巧,就包括 BloomFilter,RedisSearch,Redis-ML 了。
- Java 核心知识点:
Step3:画脑图(Xmind)
我们在学习的过程中,要学习如何去画脑图,这个是我一直以来保持的习惯,因为清晰的结构图对我们的思维是能够起到梳理作用的,能够清晰的了解,如何学习?如何学好?学到什么程度?
-
以 Redis 脑图为例:
-
除了 Redis 脑图以外,我还整理了 Spring、SpringBoot、MySQL、JVM、Kafka、Docker 等相关脑图。
Step4:做笔记
俗话说,好记性不如烂笔头,实际上做笔记对于我们每一个人都非常重要,无论是在看一些技术类文档还是刷面试题的时候,自己认为感触比较深的,可以记录下来,之后再去翻阅时,会有不一样启发。当然,我自己主要做了一些使用类的笔记,如 SpringBoot 笔记、Redis 笔记等。
- Java 核心知识笔记:
Step5:看书(电子书)
书中自有黄金屋,无论读什么书籍,对自己都是有提升的,编程类的书籍太多,买实体书籍确实不太方便,所以建议平时能够翻阅一些 pdf 文档也是可以的,大部分的人阅读习惯也都渐渐在往电子书转,我自己倒是看过不少电子书了,实战类的、源码解读类的都有不少。
- SpringBoot 实战:
- Spring 源码深度解析:
Step6:看视频
看书看不进,那就看视频,相信还是有不少小伙伴是喜欢跟着视频学习的~关于视频,我下班后偶尔也会刷一刷,网盘里躺了不少大佬的视频课程,说实在的,确实比看书的效率要高很多,许多不懂的问题一拨就通了。
Step7:刷题刷题
Docker步步实践
目录文档:
①Docker简介
②基本概念
③安装Docker
④使用镜像:
⑤操作容器:
⑥访问仓库:
⑦数据管理:
⑧使用网络:
⑨高级网络配置:
⑩安全:
⑪底层实现:
⑫其他项目:
底层实现:**
[外链图片转存中…(img-7DJ3m6on-1715422768498)]
⑫其他项目:
[外链图片转存中…(img-xUuCua1e-1715422768499)]