面试经验总结
面试经验
准备
项目:找准技术点/难点+理清项目逻辑
准备2~3个拿得出手的项目,拿的出手的含义是要有一定的技术(难)点,再通俗的讲就是要有东西可以说。可以说我这个项目的架构是怎们样的,为什么这么设计,有什么好处;也可以是我这个项目遇到了什么难题,提出了哪些技术方案,怎们做的选择等;在项目中用来什么新技术,解决了什么痛点等等。
项目的准备过程中,另一个很重要的点就是逻辑,一定要理清楚项目中的逻辑。在项目讲解中,你的思维逻辑是暴露无余的,你讲解的逻辑理的很顺,面试官理解起来会很通畅,就会掉入你设计的一些点中(你想让他问的一些点)。讲解逻辑如果很混乱,面试官很可能就会经常打断你,这种情况就容易扰乱自己的节奏。
基础知识(八股文):书籍+平时积累
看过的书籍:
-
redis设计与实现;
-
MySQL是怎样运行的;
-
Java并发编程的艺术;
-
深入理解Java虚拟机:JVM高级特性与最佳实践;
-
深入理解Kafka:核心设计与实现原理;
-
设计模式之禅;
-
程序员代码面试指南;
基础知识的话,我个人是比较倾向于看书的,虽然会比较慢,但是我觉得看书更能让我有一个全面的理解。当然,如果你能从海量的博客中找到精华帖也是可以的。平时的积累这个就看个人了,没什么好说的。
这里看书强调一点,一定要分主次。程序员要掌握的东西实在是太多了,不可能做到全部精通,但是你项目中经常使用的技术一定要重点学习,这些是主,也是在项目讲解过程中需要给面试官埋的点,其他的书籍和框架技术是辅,只用作为你知识面的扩展就好,面试官也不会问太深。
另外,好多人都会遇到遗忘的问题,看了忘,忘了看,看了还是忘。我的解决方案是反复记忆。记忆什么:书中重要的知识点;重要的架构图/结构图。怎么记忆:看完之后把要记的点在大脑里回顾,看自己能不能想起来那些知识点,结构图在大脑中能不能画出来。回顾:记住之后,每过几天要重新回忆一遍,如果发现想不起来了,立马再去看一遍,再记忆一遍。
算法
算法我是一边刷题一边看左神的程序员代码面试指南,算法题的话我刷的比较少,可能只有50+,建议还是刷到100+会比较好,网上也很多刷题的帖子,可以参考参考怎们刷题更有效。这里写下我觉得比较重要的算法题类型:链表(大多数公司会出的题);递归/图(算法要求高点的公司会出的题)
面试
面试三巨头:项目+八股文+算法
个人觉得单次面试中,项目+八股文+算法 三中其二基本就没什么问题了。所以,刷算法题就显得很重要,因为基础知识那些需要平时的积累和看书学习,学习周期比较长,而算法题则完全可以在短时间内得到极大的提升。至于准备到什么程度开始面试,算法题刷个100+,项目里用到的技术和框架理解掌握之后就可以开始面试了,然后面试过程中一边坚持刷题一边补一补八股文,然后复盘好每次的面试就好了。
关于面试这里多写一点,其实面试官不要求你啥都会,也没人能做到啥都会,面试官招人是要能干活的,要有解决问题的能力的,所以项目里怎们把你解决问题的能力展示出来就很重要了,包括做算法题也是,想考的也是看你遇到一个问题之后有没有办法解决,想看你的一个思考过程和解决方案。面试过程中遇到比较难的题,我也慌,但是把问题拆解一下,有些问题就迎刃而解了。当然面试官也会给一些提示,给你一些想法,这时候可能就看你的理解能力和coding能力了,看是否能够立马理解并完整的coding出来。
offer
高德地图;猿辅导;贝壳找房;字节;腾讯;小米
#Java开发##面经##java工程师##猿辅导##贝壳找房##腾讯##小米##字节跳动#