Android开发工程师面试
1、前言 面试的来由很突然,当时就是一个随手的投简历而来,刚好在公司的旁边不远就秉着学习求指点的心态试了一下。
先说第一天,收到一个短息通知我加一个Q详聊,然后我加了一个Q后就简单聊了一下,他就叫我做一份题先,时间不限做完发给他,题目有两个
2、两个题目
第一个,设计一个简单的XML文档生成器,第二个是简单锄大地扑克牌程序发牌程序,考查面向对象的设计能力和UML知识点。当天晚上做完之后就发给了他,到了第二天联系了一下他,本想看一下他怎么评价我写的代码的,可是他完全没有提出什么意见也没有表态,只叫我找个时间去他公司一趟,好久没想通是什么个情况,可能是写的一般,然后叫我去公司在现场考察一次。
3、现场面试
到了第二天,我找了个时间走到金蝶软件园,先说一下环境,在科技园圈一块地,建了几个大厦,一眼看过去,一个字霸气。然后,在门口登记了一下,绕了几个圈来到一个接待室聊一下大学生活、排名,排在你前面的人为什么排在你前面,感觉都是随便聊聊,没有什么重点,然后就去拿了一份笔试题叫我做好给他。题目大概为:
1、 ArrayList、Vector和LinkedList的存储特性和什么时候使用 2、 HashMap和Hashtable的区别 3、 String、Stringbuffer的区别 4、 Set不可放重复的元素的原理,是怎么实现的(大概是这样,记得不是很清楚了) 5、 String s=new String(”xyz”)有多少个String Object对象 6、 开四条线程,两条对变量加一,两条对变量减一 7、 垃圾回收的机制的原理 8、 写一个singleton出来 9、 Android多线程通信机制的原理 10、 设计题,花有两个状态,一个花开,一个花闭合,三只鸟在花开的时候去踩花,花闭时休息,用最熟悉的语言模拟这个过程,画出UML
题目不难在Java九阴真经里能找到大部分的答案,大部分回答了一下,面试官一直没什么表情,这里主要想分享一下最后一道题,他问我看出了什么模式,我说了看到有两种状态,不同状态有不同表现就想到了状态模式,可惜很郁闷,他说他没有听过状态模式,还反问我有这个模式吗。我当时就蒙了,后来有同学说可能是压力面。然后他就说了一大堆说不招应届生,又说我的基础不行,他们不是说一定要招人,只要是 合适的就会招过来一起工作这样的,哎,整个面试过程都不是那么愉快,都是我在说,他不反馈信息,没有交流到什么有用信息,然后就就我做两个View,做好后发给他,时间不限,做好后他叫其他同事继续面我,因为他觉得没有底。
4、总结
大公司都注重基础,尽管进去后很多用不上,可能这就是公司的面试原则吧,然后就是看学校,看成绩,最后看开发能力,所以如果你开发能力好,没有好的出身很可能连面试机会都拿不到。所以作为一个号的程序猿要注重全面发展,毕竟水桶的容量是如最短那块决定的。
补充:移动开发 , Android ,