此次投的是三年经验的Android开发,最后反而因为自己的失误,没有准备充分而导致结果很悲剧,以此告诫自己千万不能疏忽大意。
面试过程
第一次去大公司面试,心里不是一般的激动和紧张,来到乐视大厦门口,感觉这一切都不像是真实的,这才是北漂的我现在想去的地方。向一楼客服MM询问了下要了临时工卡直接上了10F,电梯有点挤。找到HR后她帮我联系了面试官。(PS: 网友说挤,现在看到真实环境还真不是盖的,HR都是挨着坐,研发这边都是各种大电视并排的,但是这种环境工作也正是我所期待的)
面试官貌似很严肃的样子,让我更多了几分不自然。在工位上直接开始给我一套题先做,题数不多只有5题:
- 实现单例模式;题解:Android设计模式 – 单例模式总结
- 循环和递归实现N阶阶乘 (0 != 1),输入目标值可以输出结果;
- 二分法查找目标值;
- 两个栈实现队列,栈的基本方法给出:pop(),push(),isEmpty();题解:LeetCode Stack Design专题
- 100层跳台阶,一次可以跳123步,总共跳多少步;
后面的题解属于我个人博客总结,如有疑点请帮忙指出,谢谢!
由于快到中午开始的,写完正好面试官买饭去了,回来端着饭问我是否写完了,结果看了看答卷瞬间黑脸直接说,你这写的答案感觉不像工作三年的啊,我老实实话实说去年2月才开始自学的编程,9月正式工作的,现在工作一年多了,因为怕简历被刷才写的三年。于是开始问我的答卷,就不一一细说了,想找个缝钻进去。。
数据结构与算法被完爆后,又问了问关于Android方面的知识点,其实这些问题基本都是聊工作接触到的东西,然后面试官试探你入的有多深
- Volley有哪些类型的网络请求;
- Volley的RetryPolicy方法,其中问到了设置超时时间,原理等
- Get / Post的请求方式,两者的区别
- Android Studio查看线程状态的方法
- 线程有哪些状态
- 如何分析Debug ANR的问题
- 从traces.txt文件中怎么分析ANR
记得的也就大概是上面这些问题,但是一般面试官问的时候都是看你的简历问的问题,看看你的简历写的是否真实,千万不要把不会的写的熟练,不然自己打脸。
此次面试最大的感触,是后面面试官问我的优势在哪,我说我很拼,可被痛骂一顿,说没看到我拼的结果,并且我只有输入没有输出,这样是不行的。因为不是科班生的缘故,他建议我把相关的教材找找,把基础好好看看,前人几十年的知识积累都记录在里面,不要忽略这些东西。
虽然此次以GG告终,却改变了我曾经很多幼稚的想法。感谢生命中给予我帮助甚多的人们。
最后总结了几点:
- 无论是否正在工作还是要多去面试,毕竟能知道自己的不足,能尽快改进
- 基础很重要!这决定了自己以后成长的深度,不要认为数据结构与算法貌似工作中都用不到
- 面试前先练练手写代码,确保自己写的清晰、熟练,写的同时注意鲁棒问题,边界问题,答完题后将几个值带进去看看是否正确
- 写博客,平时工作用到的都尽量记录下来,并且细心一些。这次被问到DDMS中查看线程状态时就有细节被问到而我一问三不知
- 简历要真实,大部分面试的内容都是简历写的内容