Java 杂谈Java成长之路程序员

想进BAT面试的Java程序员,看完这个你们还觉得offer很难

2019-04-26  本文已影响6人  Java_老男孩

第一个问题:阿里面试问些什么

参加阿里的社招面试,而社招不同于校招,问题的范围其实是很随机的。因为能参加一些比较知名的互联网公司社招的人,70%以上都会有个3-5年的经验。这倒不是说一两年经验的同学没有机会进这些公司,而是因为这种公司,大部分情况下只招一些比较资深的开发和应届生,而不招那些处于中间阶段的人。而1-2年经验的同学,往往就刚好处于这个尴尬的阶段。

对于能有3-5年经验的这部分人中,每个人的经历又都不同,所擅长的点也不一样,因此这就会导致每个人的问题和范围都不太一样。

很少说有哪个知名的互联网公司,比如BAT、京东、360、搜狐、网易等这些公司,其社招面试还有固定的问题和模式,让你可以像应届生面试一样,在面试前靠临时抱佛脚度过这一关。

大部分公司在社招的时候,不光是阿里,其它公司也都一样,基本上都分为两个阶段的提问

社招面试如何准备1主语言本身以及它的高级特性。

主语言当然就是你平日里拿来赚钱的家伙。

主语言很显然是Java,那么对于Java来说,它的语言本身以及它的高级特性,都有哪些比较容易在面试中问到呢?

一般情况下,主要有以下知识点很容易被问到。(PS:以下所列举的,都是一些Java相对而言比较高级一点的知识点,因为这里谈的是社招,而不是校招)

1、Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的。以下简单模拟一个数据结构的连环炮。

比如,面试官先问你HashMap是不是有序的?

2、Java并发包当中的类,它们都有哪些作用,以及它们的实现原理,这些类就是java.concurrent包下面的。与上面一样,咱们也简单的模拟一个并发包的连环炮。

比如面试官可能会先问你,如果想实现所有的线程一起等待某个事件的发生,当某个事件发生时,所有线程一起开始往下执行的话,有什么好的办法吗?

为什么说面试的时候要引导面试官,原因就在这了。因为面试官的提问很多时候都是有迹可循的,你如果抓住了他的轨迹,能够猜到他下面很可能会问什么,那你在回答的时候就可以往你想要谈的方向去说。这样面试时就会显得更加从容,更加的游刃有余。

3、IO包和NIO包中的内容。这部分里面NIO会是重点,IO包大部分都会比较熟悉,因此可能会直接略过,直接问你NIO的内容。

IO包和NIO包的内容相对来说不是很多,首先NIO模型要熟悉,特别是其中的selector一定要非常清楚它的职责和实现原理。其实NIO的核心是IO线程池,一定要记住这个关键点。有的时候,面试官可能也会问你IO包的设计模式(装饰器模式),为什么要这样设计?

有的面试官还会问你有没有更好的设计,这个时候如果你不知道请果断说自己现在的水平有限,想不出来更好的设计,千万不要信口开河,随意YY。

4、Java的虚拟机的内容。这部分主要包括三部分,GC、类加载机制,以及内存。

一个GC部分简单的连环炮。

下面是关于类加载机制的简单连环炮。

再来一个关于内存的连环炮。

额外的加分项

上面两个阶段基本上是必问的,还有一些加分项。这些加分项中,有些内容面试官也会问你(比如TCP/IP协议、算法),但更多的是会先问你了解不了解,你了解的话再继续聊,不了解的话就直接略过了,不至于因为这种问题而直接把你打入地狱。

列举一些加分项:

1、计算机系统原理。

2、网络通信协议(TCP/IP,HTTP等)。

3、数据结构与算法。

4、著名开源项目的源码。

5、你自己有很棒的开源项目。

6、你的个人博客。

7、待评论区补充。

这几项当中,对于前1-3项,如果你之前就比较了解,只是由于时间问题忘记了的话,还是可以临时抱佛脚一下的。

至于后面4-6项,就需要你日常的积累了,不是一时半会儿能做到的。如果你平日里没有积累,那么后面这三个加分项只能抛弃了。

大家可以点击加入群:708701457JAVA架构学习交流

里面有Java高级大牛直播讲解知识点 走的就是高端路线

(如果你想跳槽换工作 但是技术又不够 或者工作上遇到了

瓶颈 我这里有一个JAVA的免费直播课程 讲的是高端的知识点

基础不好的误入哟 只要你有1-5年的开发经验

可以加群找我要课堂链接 注意:是免费的 没有开发经验误入哦)

1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的。

5、群号:高级架构群 708701457备注好信息!

6、阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

上一篇 下一篇

猜你喜欢

热点阅读