本项目是本人参加BAT等其他公司电话、现场面试之后总结出来的针对Java面试的知识点或真题,每个点或题目都是在面试中被问过的。
除开知识点,一定要准备好以下套路:
- 个人介绍,需要准备1分钟和5分钟两个版本,包括学习经历、工作经历、项目经历、个人优势、一句话总结。一定要自己背得滚瓜烂熟,张口就来
- 抽象概念,当面试官问你是如何理解多线程的时候,你要知道从定义、来源、实现、问题、优化、应用方面系统性地回答
- 项目强化,至少与知识点的比例是五五开,所以必须针对简历中的两个以上的项目,形成包括【架构和实现细节】,【正常流程和异常流程的处理】,【难点+坑+复盘优化】三位一体的组合拳
- 压力练习,面试的时候难免紧张,可能会严重影响发挥,通过平时多找机会参与交流分享,或找人做压力面试来改善
- 表达练习,表达能力非常影响在面试中的表现,能否简练地将答案告诉面试官,可以通过给自己讲解的方式刻意练习
- 重点针对,面试官会针对简历提问,所以请针对简历上写的所有技术点进行重点准备
Java基础
Web框架、数据库
通用基础
分布式
微服务
算法
- 数组-快速排序-第k大个数
- 数组-对撞指针-最大蓄水
- 数组-滑动窗口-最小连续子数组
- 数组-归并排序-合并有序数组
- 链表-链表反转-链表相加
- 链表-双指针-删除倒数第n个
- 二叉树-递归-二叉树反转
- 二叉树-递归-多叉树中最长的连续序列
- 动态规划-连续子数组最大和
- 数据结构-LRU淘汰算法
- 其他-二十进制相加
- 有序数组中位数
- 数组中的k个最小值
项目举例
系统设计
智力题
欢迎光临我的博客,发现更多技术资源~