本帖最后由 特种呆鱼 于 2014-3-14 11:53 编辑
迟来的感恩:
终于..额不,是眨眼间,时间轴的游标从壮怀激烈的七月,到心身俱疲的十月,然后再到惶惶不安的求职试探期,最后到offer超出自己预期的收获季,划过一条短暂而足以让人铭记终身的轨迹。它将我们之前或迷茫,或凌乱,或颓废的人生轨迹和未来辉煌的起点连接起来,着无痕迹。个中缘由当然离不开黑马精英讲师团队的传道授业,离不开常姐的敦促与鼓励,超哥和波波的悉心指导,离不开小伙伴们正能量的相互传递。。。(感谢的话,此处省略5000字,要不CCTV,MTV都罢工了)。以上是迟来的感恩。
下面开始我虐心的面试之旅。
第一家公司:风网科技,主营产品100tv,身为业内人士,肯定很多人都知道这款应用,呵呵!android组的老大就只问了你个人觉得android应用最难的是什么?我就和他扯自定义UI的实现原理和Touch事件的分发机制.然后他就开始和我畅谈人生,之后就是web组的老大问了我一道算法题:大数组连续n个元素最值求解问题,我没答上来.他给的提示是动态规划,至今仍在困惑中..
之后就是风网技术总监(微软出来的,就知道之后的结果了)团面(灭)我们:
第一题:一个大文本内,存了一部英文词典,一行对应一个词条.格式:"单词:中文解释",如何迅速的从这个文本文件找出他的中文解释?我们的初步思路是二分法查找,但是如何通过IO走进二分法搜索算法没有思路.从华哥那里得知,用RAF二分查找文本文件,然后往后遍历,知道找到换行符为止.然后就可以获得一个单词的首字母,依次继续二分查找..
第二题:大数组中存放了1到n的自然数,乱序排列,从中任意删除了一个数,数组扔给你,迅速找到删除的那个数.我的思路是先进行快速排序,然后二分法校验索引,时间复杂度是n*logn*logn,总监说太慢,至今未得正解最后风网还是要我和另外两个小伙伴,原因可能是笔试题做的比较好,回答问题比较积极吧。
另外一家公司的面试机会来的很突然,这次机会来自,我的MDCC组员的集体简历,谁知到这份我自己都不知道自己简历写的什么东西的集体简历会引起一家巨头公司的注意---金山网络,当时正是被风网完虐的当天下午.一听到金山网络,当场吓尿---NND,又要被虐了,也罢,去见识下巨头下的大牛们吧,能活着回来就行.问题:
1:你觉得Acticity的生命周期回调方法每一个都是必须的吗?假如只有onCreate和onDestory方法,会有问题吗?
我觉得是必须的google大神的智商不用怀疑啊!onResume,onStop和 Onpause这三个稳定状态自不必说,用于维护与用户的交互状态.几个过渡状态: onStart:一般用于重新加载Activity显示的数据,onCreate设置Activity的页面及初始化工作;
第二问,当然是不行的,这样的话,一旦Activity界面消失,就意味着destroy,再显示的时候,都会oncreate,效率太低
2.耗时操作有那些?service可以执行耗时操作吗?网络请求,大文件读写(我只答了这两个..),不行,它是没有UI,Activitys开启服务之后,服务的代码会运行在UI线程(当时犯2了,卡住了...)
3.简单说一下android IPC机制?
AIDL---->问我binder机制了解吗?...
广播----->广播的生命周期很短,一般怎么实现IPC?接收到广播,开启服务
共享文件---->注意同步
4.你考虑过数据库的升级及兼容性问题吗?
5.你考虑过布局的优化问题吗?
6.APP的崩溃信息如何搜集?(知道的话很简单,在Appication 中封装Thread.unCaughtException接口实现类,搜集异常信息,小华华最后一天的课不在,唉)
7.以ListView为例,说明一下MVC设计模式?(我又犯二了,data--adapter--item的view..)
8.你们手表行程助手项目是实现思路和遇到的问题..(扯呗)
9,APK与APK如何进行数据交互?(这是不是IPC呢?)
10.说一下Dalivk进程,Linux进程和JAVA进程的区别与联系.JAVA进程不知道说啥..
11.归并排序思想?快速排序思想?希尔?
12.8球中有一个假球,给你一个天平,称几次能找出假球,并知道是轻了还是重了..至今不知道最优解
13touch事件的分发机制>>>>touch_cancel呢?....
14Handler机制?HandlerThread知道吗?
15.360电量显示的类似圆形水球的自定义Ui效果怎么实现?(带水流波纹,类正弦波动)
16.jni用过吗?
17.笔试题上的多对多生产者消费者有问题,让我自己找出.只找到一个,另一个没找到,其实很简单.将判断产品状态用while循环..唉,好久没弄都忘了.
============================================================
面试教训及经验总结:
以上大概是我虐心的经历,面试过程磕磕绊绊,被虐的体无完肤,面试也来的太突然.总结一下教训吧:
1.基础一定要温故知新,大牛公司根本看不上你的项目,最看重基础
2.算法题平时要积累.
3.笔试题要认真对待,我和我的小伙伴做了将近3个小时,这能看出你对一个事物的责任心和态度
4.Android学习过程中尽量研读下一些常用类源码.
最后在没有以个人名义投递简历,两天之内被虐两次的情况下,都奇迹般拿到offer,最后我问HR,问什么,我技术面感觉很烂,还是要我了呢?他说,答案你自己应该清楚吧.也许是我对自己感兴趣的技术点有研究的热情吧.好多题,都像在写字板旁边做汇报一样,和面试官讨论.
offer最终尘埃落定---金山网络:10k*12+目标绩效(20K)+六险一金+400饭补+100额外医保.这就是一次偶然的面试带给我的惊喜.再次感谢黑马的常姐,华哥,曹神,超哥和波哥!还有我们Flame组的小伙伴们:海神,帅帅,兵兵,美女欧阳丹,对了还有我宿舍俩奇葩舍友:大鑫鑫和小猴子...
最后预祝黑马继续续写传奇,师弟师妹们找到自己新的起点!
|