Java后台秋招总结

终于结束秋招了,之前浪费了贝壳,美团,京东的机会,感觉还是准备的有点晚。心得体会就是面的越多,知道自己的缺陷就越多,自己在哪方面还需要进一步加强学习,准备的才可以更充分。所以一开始的面试失败,不要灰心,沮丧,这些都是经验,要知道累计到一定程度,就能在之后的面试屡战屡胜。

  1. 基础要扎实,最起码的一些类似笔试题的题目一定不能答错,比如String a = “123”, String b = new String(“123”) a 和 b 相等么,这样的问题如果面试答错了,肯定会影响面试官对你的评价

  2. 会就是会,不会就是不会。要是不会,你可以分析下自己的猜测,有时候面试官也会说,那你分析下"Spring aop,cglib 方式下的有final 方法的类可以用吗",这时候你就根据一些其他知识分析一下,比如final方法不能被重写了之类的,表现出自己基础的扎实。

  3. 不能只知道结论,得多想想为什么Java要设计成这样,比如为什么要先构造父类的构造器,为什么ConcurrentHashMap比HashTable快,类似这样的问题,面试的时候提出来,你可能会很棘手,如果让你讲一讲ConcurrentHashMap,你肯定会说它的分段锁机制,但是一旦让你把知识联系起来,你需要多理解下。

  4. 要多和面试官沟通交流,眼神沟通来判断他是否对自己的答案满意,他们一般会检查一下你的手写代码,并且如果不对会指出来,这时候你就得尽快反应了。不过一般真实面试的手撕代码不会很难,因为题不难,大家大部分都能答上来,考官会因为你答不上来而淘汰掉你,除非一些考官为难你或者他们这个公司要求就很高。

  5. 对一些分布式,高并发要有一些 理解,不能说我自己想学这个,但是却不了解这个的原理,我哪回说想要学习高并发,哪回都被问到什么是高并发,要有什么操作来保证并发安全。

  6. 对于一些很大众的问题,大家都能答出来,所以你要准备的更好,了解的更多,面试官才能觉得你不错,欣赏你。可能每次都问的hashmap,你可以多了解下他的扩容机制;三次握手,四次挥手,你可以了解下什么时候三次握手会被攻击,怎么避免timewait过长;

  7. 抓住一些细节,比如JVM程序计数器是做什么的,你可以答上来指向程序执行的字节码,如果你还能说出来此内存区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域;比如HashMap 有个64 当 节点小于64的时候,如果执行红黑树化,是执行的扩容而不是红黑树,jdk1.8put是尾插,之前是头插。

  8. 还有一些问题就是一些场景题,因为咱们大多数都没接触过什么项目,对这些场景题答起来就很困难,但是我们应该去了解一下一些设计,比如一些抢红包的设计,一些不重复ID的设计,如果我们在实际中接触不到的话,可以去看一些教学视频,去了解一下。

  9. 如果面试官对你冷嘲热讽,你也不要太在意了。面试也有一定的运气成分,面试官心情好了,你不会他可能都会跟你讲讲为什么,有的就故意刁难你,我就遇到过这种。

  10. 面试官经常会问你,你还有什么问题想要问我,我一般会问一下公司技术栈,有时候也会问一下,你对我读书有什么建议,还有时候会问一下自己刚才没答上来的答案,如果你觉得自己有的问题没答好,后来想起来了,你可以提一下重新回答一下,这个问题挺重要的,得好好准备。

  11. 如果你面到HR了,也不要因为面到HR就觉得很稳,因为每一面面试都会给你打分,你或许刚好过了前几轮,但是还可能因为整体评分不高而被淘汰。

  12. 一些套路的话:比如HR一直夸你,差不多就是凉了,还有没有面到HR,说今天面试到这里结束了,今天晚上等通知,这也是凉了。
    总结就这么多了,秋招还有一个月,大家加油。

你可能感兴趣的:(Java)