PPS2013校园招聘android开发笔试面试经历

        PPS说大不大说小也不小,公司也就800人左右的规模,还没有上市。但其知名度还是有一定的,据称日访问量上百万,大学生一般都用过它来看电视。我第一次认识PPS还是大一刚来学校那会,那时候刚接触电脑,就喜欢下载些软件来摆弄,经常在一些天空啊,华军软件园之类的地方下载软件,但那个时候死活找不到下载链接,每次都搞的莫名其妙的装上了其他的软件,那时候我碰见最多的就是风行和PPS链接,弄的我一直都对这两款软件没什么好感。但是有的时候真正左右你行动不会是你的个人喜好,就像有多少人一边在骂腾讯山寨王,但有多少人挤破头都还想着进腾讯。当然如果你是大神,那也就没话说,但是像我这个档次的人,上不上下不下,在今年这就业形势下,连选择的余地都没有。

     好了, 言归正传。

     6点半宣讲会,原本只能容纳一个两百的大教室,硬是来了四五百人,最后新加了一个临时考场。平时神龙见首不见尾的本学院的同学,研究生学长,还有周边学校的一下子全冒出来了。唉,残酷的现实啊,想想在学校就这样子,到了社会招聘,那还了得。据了解今年各高校保研的少了,大批在保研线上而又没保上的童鞋们凑热闹来了,又正好赶上两年前研究生扩招的那批学长也出来凑热闹了,又赶上GDP增长首次跌破8.0%经济形势岌岌可危,又赶上中日钓鱼岛之争,大批日企都不敢来了……童鞋们,不荣乐观啊不容乐观。

     一个小时的宣讲完毕,就到了笔试环节,PPS职位招的很多,根据应聘的职位发不同的笔试试卷,C++/C和Java 应聘的人最多,其他职位应聘的就很少。其中竟然还有招flash程序员的,人家adobe都说放弃flash了。当时我们很多人都以为这次PPS招聘没有人数限制,就像去年华为在我们学校那样,一下拉走了上百个人。由于我应聘的是android开发,当看到只有那么寥寥十来个人一起竞争的时候,我有那么一下子,心里真是乐开了花,幸灾乐祸的看着一起来应聘Java的同学,心想这便宜算是被我捡大了。

       笔试题目其实也不难,主要是考些Java和Android基础语法。第一部分是挑错题,第一道是把final定义的常量当做变量来使了,第二道是混淆了interface和abstract class的用法,其他的忘了。第二部分是根据程序写出输出,第一道考察try-finally代码块以及类内部静态代码块的执行顺序,还不了解的同学赶紧去补习下哈。第二道考察多态,子类继承父类的非静态方法和静态方法的应用,声明并new一个子类对象,然后强制转换为父类对象,然后写出对这个父类对象调用非静态和静态方法分别打印出什么,大概就是这样子(第二天面试的时候,面试官还让我解释了这道题),其他的忘了。第三部分是多项选择题,android的一些基础语法,里面大部分题都做过,网上那些什么史上最全的70道android面试题,就是题库,一般规模不大的公司都不会花大把的精力去设计什么有水平的面试题的,特别是android刚兴起来不久,网上资料题库的选择余地就更小了,我感觉是这样子,应聘android开发的童鞋们注意面试前特别要去看看咯。但是第一道题就把我难倒了(后来面试官也专门问了我这道题的思路),对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行()A、onPause() B、onCreate() C、 onResume() D、onStart() 网上给的答案是D,但我觉得更合适的是A,但A也不完全对,如果activity在后台由于内存不足等原因被系统不可预料的从内存中销毁的时候,它就不会调用onPause(),这种情况下会调用onSavaInstance()保存状态,这个到底该怎么选择,有人知道的话,请帮忙解惑哦。之后就是考一些Fragment生命周期,AsyncTask,SQLiteOpenHelper用法,JNI的一些问题。都挺简单的,做了一遍一般都能记住。最后就是解答题,第一道是关于UI View怎么样自适应不同分辨率屏幕(这个我不会,乱写了一通,面试的时候他也重新提问了这道题),第二道是横竖屏切换,activity的生命周期怎么切换,这个有点复杂(不会的童鞋,回头好好在模拟器上测试下)。。。。第三道关activity的整个生命周期之间的转换(生命周期一般都是笔试面试必考的内容,面试的时候,面试官让我画了一次activity和service的生命周期图,然后解释他们的转换关系)貌似还有一道忘了。一个小时的时间过的很快,刷刷的过了,手机都还没来得掏,就到时间了。看着旁边的很多同学各种用手机各种窃窃私语,觉得自己挺吃亏的。但别看每次面试这种好点的公司人都很多,但含水分的人大有人在,研究生也不例外。其实只要自己有能力,还怕他个锤子。

       第二天,早上6点多的时候收到了面试通知,当时就他妈的怀疑,难不成他们通宵看试卷,那可是好几百份试卷啊,怎么可能这么快,后来我班上一起去的牛人他说他竟然没收到面试通知,就更加怀疑了,难道这就是传说中的看人品?早前听人说,大公司一般都有好几轮面试,但第一轮一般技术面是最重要的,二面三面也就走走形式了,技术面面试官一般从简历上写的项目经历下手,问具体的项目细节;还有就是从笔试的试卷的下手,挑那些易混淆有歧义,重要知识点,答错的题来问。后来证明果不其然。

       面试在下午一点,匆匆赶过去,大概估计了一下,研发类的面试只剩下50-60个人左右,这个挺靠谱的,不像有些坑爹的外包企业招过去的时候大包大揽的当把你前期的价值利用光了的时候就开始大幅裁员。差不多到了三点的时候轮到我面试了,因为是第一次这么正规的面试,心理还是有点儿小紧张,跟面试官谈的时候话说不开(大忌啊,唉)~~面试官是看起来也就比我大七八岁的样子,挺随和的。一开始他让我自我介绍,这套早就烂熟于心了,刷刷的说完了,他也没说什么废话,直接就问技术了,首先他就拿着我昨天笔试的试卷来问我,问的那些前面已经标注了,还有些忘记了。幸好我有个习惯,我有什么不明白的都会马上记下来,然后去查阅,所以我的回答我也感觉他挺满意的。~~~~童鞋们记住了哈,这是个好习惯,说不定你的笔试就过了呢~~~~~之后他问了我堆和栈的区别,当时就有点懵了,没想到会面试这个啊,也不太了解啊。乱说了一通。之后他问静态变量、new一个类的实例放在堆还是栈,我也不清楚啊,咬牙凭记忆乱说,后来回来查了下居然还被我说只中了,然后坑爹的是,他问了句“你确定?”,在面试官面前班门弄斧简直就是自讨苦吃啊。然后我再次咬牙的说我确定,到了这个地步,宁可让他明白我只是说错了,也不能让他知道我不懂装懂~~~~这也是大忌啊~~~~,后面也因为这个影响了我的心态,后面就有点心虚、慌了。然后他问我android中dp和px之间怎么转换唉,我说我不怎么清楚,但是我知道有那个方法。之后他让我在纸上写一个倒置单链表的算法,懵了,算法绝对算我的软肋,更何况现在我的心态已经起了变化。我写了个很song的方法,他说这个不行啊,空间复杂度太高了,然后我嘴贱的说了句这是我能想到的最简单的思路和算法了,然后他眉头一皱说这怎么可能是最简单的算法。很明显我这就一下被他看出了底细,当时真想抽自己一巴掌。后来他问我知道OOM不,我说不了解,他用英语说了一句out of memory,我还是没从刚才那一下子反应过来,没听懂~~~~~唉感觉是面试经历不足啊,心态太容易起变化了~~~~~,最后他在纸上写下了,我才明白是内存泄露,然后他问我android在哪些情况下容易引起内存泄露,这个我会,之后他问我,eclipse下用过内存泄露检查工具没,然后我说没,在学校也很少有人用这个工具,然后他说凡是做项目,内存检查是必不可的环节,开始大谈特谈手机开发各种效率问题,当时我就想骂出来,妹的,你上本科的时候用过这玩意,你又不是不知道学校里面的教学是个什么情况。最后他要我简要的描述一下我以前做的那个android项目,那个时候我对自己这次面试已经不抱什么希望了,所以我表达的也不够好,说到一半就被他直接打断了。之后就差不多了,他说我有什么问题问他,我问了他一个我最关心的问题,问他们公司多少android招多少人,他说全国差不多招10来个吧,最后他还职业性的补充说人数也不固定,如果有优秀的,肯定是要的。然后然后没了然后,最后一丝的希望也没了,PPS全国10个笔试地点,平均下来一个笔试地点招一到两个,这次一起笔试android的好几个都是研究生,同等情况下我还不认为那些公司宁愿会要本科生而不是研究生。

  我的第一次正规的校园招聘面试就这样完了,哈哈 ,其实还是挺不错的,说来也是有点面试经验了,下次面试的时候应该会比这次表现的要好些吧。

 

你可能感兴趣的:(java,android,算法,面试,Flash,招聘)