今天下午刚刚面试完,有图有真相。下面的面经我写的尽量详细。
我是走的社招,自学的java基础,选择的是现场面试(金燕龙办公楼),和同学骑自行车去的,8公里啊!大热天够累的,还好结果不错。
面试在一楼,首先,老师抽了一份考题让我做,是编程题,3道,手写代码。
第一题(8分)是获取几个10个1--100的随机数,并存进数组里。然后写一个方法将其进行降序排序(特别注明了不许使用Arrays.sort等方法)
这个不难,我用的是冒泡排序,不过要改动下,因为要求降序排序嘛!其实我认为这道题考得就是冒泡排序和选择排序的知识。
这道题的8分应该差不多到手了。
第二题(12分=6+6)是获取一个文件夹里所有以.java结尾文件的数目,并把符合条件的文件名写到一个目录下。
这个题刘意老师的视频里也讲过,第一个获取数目比较好写,第二个可能因为紧张(因为我是最后做第二题的,又没戴表,怕没时间了),总是忘了一些内容,不过把读取数据内容的框架写上去了。(后来才知道审题错了!题目要求把文件名写到目录下,我居然把文件内容写进去了!!!所以审题很重要,审题很重要,审题很重要!重说三!)这道题算是做对了半道吧,6分应该到手了。
第三题(10分)是5个人抢5个红包的题,这个见过,做的也比较顺利就是可能细节有不对的地方。这道题应该7--8分吧。
总结:保守预估代码题20分左右。(30分满分)
接下来是面试口头部分。
出乎我意料,上来居然先自我介绍,估计怕我连续考试紧张吧。这一点老师想的很周到,点个赞!
主要问了毕业学校,家庭情况,父母是否支持,从哪里知道的黑马。打算学完安卓去什么地方工作。总之回答完这些问题我的心情平静了许多。
然后就是基础知识问答了,我之前以为第一题要考jdk,jre,jvm什么的,结果居然让我说如何理解面向对象和面向过程的,汗!不过还好,我主要说的是面向对象,比如代理思想和封装对象之类的。然后就是面向对象的特征,当然是封装继承多态了,接着让我介绍下这三个特征。
之后还问了==和equals的区别,抽象方法和接口的区别,静态的理解,线程的安全问题出现的原因,集合分类,set集合的唯一性,反射是干什么的等等。
总的来说,问的基础比较广,几乎面面俱到。而且细节东西比较多。我大概答出了95%以上吧。有几个题我没回答上来:比如说几个file的一些方法(这个当时短路了,什么也想不起来,唉),获取所有键的方法(这个因为紧张答串了)。另外有个回答的比较模糊(关于高效流是如何做到高效的,我回答的是因为有缓冲区,其实还应该加上缓冲区的读取才对,刘意的IO部分有个视频里面讲过)
总结:保守预估基础题18分左右(20分满分)
面试口头结束后,老师就告诉我面试通过了,分数会写到我的报名系统进程里。让我回去看下并提交进行下一步。等分配名额。
这里老师特别提醒我注意:分配名额是按照成绩排名,也就是说不一定能分配上这一期(95期)的安卓就业班。另外确定名额后入学后还要考次试(编码题和选择题),那次如果过不了也不能入学。(唉,白高兴了一场,原来还有两道坎啊!)所以提醒我这几天也要学java,不能懈怠!
面试完回来后,查了下分数,我的面试成绩是42.2分,比预估的要高一点。
我觉得可能是因为1.编程题会给过程分(就像高考时的数学大题的评分一样);2.基础知识可能允许错几道也能得满分(就像GRE的评分一样)
再多说一句我的面试复习,入学考试10道编程题提交后,我留了一个星期时间进行面试的准备,下面是我的复习方案,仅供参考,抛砖引玉。
刘意老师的27天java基础文件里,除了视频还有第几天的总结,我觉得这个很重要。
我的计划是每天看6天的知识,5天时间过一遍27天的内容(具体做法是,先过一遍当天的总结就是那个txt文件,再过一遍当天每一个代码文件就是.java文件(src文件夹里的),因为代码文件里经常会有基础知识点,刘意老师总结的很细,赞!),这一遍也是最耗时的,不过也是最有效的,算是地毯式轰炸吧。
剩下的2天过一遍论坛里的几十个编程题。尽量理解。不理解的记住框架(这样即使不会的题也能写一下框架得些步骤分)。头一天晚上去论坛看下大家的面试经验,抱抱坛子里大神们的佛脚。哈哈!
坛子里的资源很多,我就不分享了。大家依照自己需要下载一套黑马面试编程题,下载一个系统的基础知识点总结自测用就行。
希望自己能赶上95期的班(PS:和我一起面试的同学也过了,面试分41.8分,哈哈同样恭喜他)。
送给大家一句话:只要我们一直努力,就该永远相信美好的事情即将发生。
加油!加油!加油!(重说三)
|
|