阿里巴巴2015年春季校招_研发工程师JAVA_师面试总结

来源:互联网 发布:amd显卡超频软件 编辑:程序博客网 时间:2024/04/28 11:39

2015年阿里巴巴的春季校招,虽然磕磕绊绊的进入了二面。但是在这里暴露出来的个人问题并不是简简单单就能说清楚的。这里我以文字的形式进行一下总结。主要部分为面试过程中自己所遇到的问题,并在这里分析一下自己失败的原因,已经自己在以后的努力方向。

首先从一面开始说起。最开始的时候,面试官看到了我的简历,并对我有过ACM学习的经历产生了一定的兴趣。并且询问了我对自己所擅长的算法的理解,让我在现场给他讲一下。我的最重要的一个弱项暴露了出来,我的基础并不是很扎实。很多的概念,我大概就了解到了“啊,这个东西,我知道。他是这么回事是吧。大概应该是这样或者这样吧。”可是面试官所想看到的并不仅仅是这样的回答。他希望你拥有更为扎实的基础以及足够出色的总结能力和语言表达能力。抓住问题的重点,并且能够很好的表述出来。很显然,这俩者我并不具备。而在于面试官的交谈中,我了解到了。他是希望能诱导出来我在这方面的闪光点。希望我能有比较能够让它眼前一亮的表现。希望我能够讲解一些更为高难的算法。而我在算法学习的时候,基本上都是浅尝则止。并没有对某一个方面进行深入的研究。而且,对于相关方面所发表的论文并没有一丝的关注。那么,在这方面我所能给面试官留下的印象大概就是:啊,这个学生接触过算法。不过也就是会一些基础而已。

而后,因为我所报的就业意向为JAVA研发,在一面中,面试官对于JAVA相比较基础的部分对我进行了询问。大体上询问了我对接口的理解,抽象类的理解,以及线程相关的部分。很可惜,我虽然看了JAVA编程思想。但是并没有做练习题,而且基本上所维持的阶段也就是看过而已。只是泛泛的去看书而已,没有真正意义上的去思考为何会这样,而他又为何存在,他所存在的意义到底是为了什么。那么,这部分的阶段很明显是失败的,因为我只是回答了书本上所写的一些东西。甚至可以说,我连书本上所说的都不能很好的表述出来。

总的来说,这个一面是平淡的。因为面试官并没有发现我有什么特别亮眼的闪光点。而他也并不确认我是否是因为紧张或者是某些原因没有表现出来。而且貌似是看在我和他聊了一个多小时的情谊之下B+飘过。

二面,相比较一面。感觉他问的问题相比较会更为底层。要求也更为严格。

首先,他询问了我所学习的大概范围。然后他询问了我一个十分基础的问题!!JSP的九个内置对象是什么。哇,好简单的问题有木有!!可是我竟然紧张的只说出了八个,然后就死活想不起来第九个是啥了。面试之后回到酒店的时候很自然的就说出来了啊!!

然后,针对我的在简历里所写的项目进行了一些询问。那么,问题来了。有些项目,虽然都是自己一行一行代码敲出来的。但是很多实现方法已经记不清了。例如JAVA如何通过方法调用本地的.class文件并且执行。虽然这些东西当初都有写过。可是因为过了几个月后自己就已经忘记了。这里的回答有是很模棱两可的。我可以很好的说出实现所需要的技术,执行的流程。但是一旦涉及到具体细节,我就会变成大概使这个样子的情况。

他还要求我手写JAVA通过JDBC连接到数据库的代码。明明在面试前几天自己还在IDE里面手写过。可是一到了纸上之后,自己对具体的类名和方法名就开始要不准了。这样,我只能写一个大概的出来,然后在进行一下口述。这时候我就已经知道了,这次二面算是过不去了。

他询问了我线程安全和非线程安全的问题。好的,这部分我有准备。可是他所闻的于我所想象的并不一样。我之前有看了,HashMapHashSet为何是非线程安全的具体解释。但是他在这里询问了我那些是线程安全的,哪些不是线程安全的。那些先检查后操作的都是非线程安全的我知道。可是哪些是需要先检查的后操作的呢?原子性的线程安全的,可是哪些是原子性的呢?自己基础薄弱的缺点暴漏的很严重。

而后,他又询问了我对于JVM虚拟机的了解以及SQL一些底层的部分。很可惜,这部分我并没有进行过学习了解。而后,关于JAVA网络通信部分,他看了我是大二的就没有再去询问。

那么,针对面试的这个大概流程。来进行一下自我的总结。

1.基础差。这个问题多次暴露了出来。我所能做的就是进行学习。而相比以前,我需要适当的加快自己的学习速度。不能再像从前那样缓步潜行了。关于具体学习的要求,我会在接下来进行叙述。

2.对于问题思考的不够深入,没有属于自己的了解,并且缺乏自己寻找问题的习惯。对于此,我个人的想法是,在学习的同时养成写读书笔记的习惯。在笔记中,要详细的写出,自己的想法和理解。一定要详尽,不能在描述的时候跳过自己所不明白的地方,一定要追根问题。

3.学习的不够深入。这部分需要自己有更为明确的方法。既然自己已经把目标对准了研发岗。那么,我所需要做的只是不断的充实自己在这方面的知识。首先是针对这次面试中所遇到的问题,一定要进行深入的学习。

4.写代码时的习惯不好。首先,自己太过依赖IDE的提示。导致自己在离开了IDE之后,就很容易的忘记类和方法的名字的具体拼写。再一个,自己在遇到问题的时候,很多时候也只是百度一下,然后看到差不多的就粘贴一下试试,好使的话也就不再去看了。再以后,自己面对问题的时候看到可能的代码要先自己去理解,然后不再去看代码,而完成自己独立的编写。并且要去了解每一个接触方法的执行流程。

而后是自己对自己最近的计划。

1.有机会的要去参与一些更为大型的,更有难度的项目中去。增加自己大型项目的经验。

2.相关书籍:JAVA编程思想,数据结构与算法分析,JVM虚拟机。要好好的看完,并且写读书笔记。

3.好好的去把SpringMVC学明白,然后自己从头到尾完完全全的完成一个有难度JSP的项目。

4.去学习分布式,要做到真正的去好好理解,不能再浅尝则止了。

5.去学习操作系统,关于linux操作系统要有更为深入的学习。

6.去学习SQL相关的部分,也要尝试着学习的更为深入

 

暂时只能想到这些,如果还有以后发现的问题。还会做另外的一些补充。

2015,加油!!!!

0 0
原创粉丝点击