前言
“金三银四”再过几天就到了,又到了一年一度的大型**“程序猿跳槽大会”**。作为大龄IT从业者的我们,每到这个时候就会想起年轻时的自己,为了能搞定面试官,通宵背题库,背定义,四处收集面试真题…每次都准备的满满当当,可一到了面试的时候,就会发现与自己预想的完全不一样。
直到后来经历了这么多年,自己也从曾经的应聘者变成了面试者,才终于明白这样的道理:面试官远远要比应聘者狡猾得多。
不按套路出牌是面试官的“基本素养”,多年的工作经验使他们完全不需要提前准备一些特定的题目和答案,随便的几个问题,就可以通过回答对其了解个大概。
我与几个面试官朋友,从面试官的角度进行分析,帮助应聘者了解面试官的想法,揭秘大厂面试官内心:我该如何“刁难”面试者。
个人篇
1、请你自我介绍一下你自己?
2、你觉得你个性上最大的优点是什么?
3、说说你最大的缺点?
4、你对加班的看法?
技能篇
一、请聊一下,你对java异常的理解?区分一下运行时异常和一般异常有何异同?你在平时工作中遇到的异常类有哪些,详细说明一下这些异常是怎么产生的?
二、String,StringBuffer,StringBudilder区别?
三、ArrayList,vector 等的区别?
四、谈一谈,开发中都用到了 哪些设计模式? 用在什么场合?
五、谈一谈 J2EE 的常用 设计模式有哪些?再详细说说工厂模式。
(由于篇幅问题,选一题详细解析。答案在文章末尾)
六、说说你所熟悉 或听说过的,J2EE中的几种常用模式。再讲讲你对设计模式的一些看法?
实操篇
一、这里有1000个任务,分给10个人做,你会怎样分配,先在纸上写个最简单的版本,然后优化。
二、请你设计一种方案,给每个组分配不同的IP段,并且可以快速得知某个IP是哪个组的?
面试技巧篇
对于每一个求职者,有一份优秀的简历是很必要的,企业通过简历的筛选,会给予求职者面试的机会。然而,很多求职者就是在面试过程中与钟情的工作失之交臂。如何在面试中取得成功呢?“细节决定成败” ,有很多求职者有很强的专业技术,因为在面试过程中忽略了一些细节,从而失去了一次工作机会。下面介绍一些面试技巧。
一、面试前的准备
- 面试前要把面试材料准备齐全,简历、证书等,应该事先整理在一起。最好有一个简洁的公文袋,纸质材料不要有很多的折皱,保持白净整洁。
- 其次,要了解面试公司的相关资料,可以去公司网站看下,如果有朋友在这个公司工作或熟悉这个公司的情况可以让其帮忙介绍一下。了解公司的性质、企业文化、制度及发展状况等,当然知道的越多越好。这样能让你明白公司对员工的要求和员工的未来发展。正所谓“知己知彼,百战不殆”,至少这些内容可以让你清楚你进入这个公司后的环境。
二、守时、着装方面
面试前不建议找工作也是在推销自己,有了很强的专业技术,仪表也是应该重视的。考官对你的第一印象很重要。所以程序员面试的时候要注意以下几点。
-
守时方面。要事先规划一下自己面试的行程,尽量避免上下班高峰期,不要因为堵车耽误了时间。有条件的可以事先熟悉一下路线。遇到突发情况要有后备方案。如果不能按时参加面试,最好提前通知对方。
-
着装方面不需要过分准备,一般来说,参加技术型面试的着装舒服、干净就好,但精神状态要好,饱满的精神状态会显得你很自信。
另外,面谈的时候,要与面试官保持目光接触,显示出你的友好、真诚、自信和果断。
三、如何在面试中脱颖而出
如果求职者在面试前做好了充分的准备,就会有相当的自信应付面试。
-
作为刚毕业的学生或正在找工作的程序员,当你应聘一份程序设计、软件开发方面的工作时,招聘方总会安排一次笔试以考查你的程序设计能力。试题范围包括计算机知识、程序设计及逻辑分析等。程序设计面试题以程序设计、IQ 智力题及各种与计算机相关的技术性问题为主。
-
在参加面试之前一定要对自己可能会用到的程序设计语言进行复习,要把自己最好的代码拿出来。因为编写代码是程序设计面试过程中的重头戏,是展示自己具备胜任有关工作的能力的机会。在解答程序设计面试题时的表现是大多数计算机公司和软件公司决定是否聘用某人的重要标准之一。
-
程序实际面试题通常都有相当的难度。程序设计面试题一方面是要考验你编写代码的功力,另一方面是要考验你分析和解决问题的能力。大部分面试题基本上要用一个小时的实际才能得出答案,所以无法立刻找到面试题的解答方法是很正常的,千万不要因此而灰心丧气。
-
另外,在把题目弄清楚之前千万不要开始答题,从一个例子开始入手能进一步加深你对题目的理解。写完之后,要找个例子验证自己写出来的代码,并检查自己的代码是否把各种出错情况和特例都考虑周全了。
-
大多数技术类面试都会有一些非技术性的问题,这些问题一般会出现在整个面试过程的初期阶段,目的是为了确定你的工作经验和求职目标看你能不能胜任有关职位。
非技术问题看起来都比较简单,尤其是当你已经在艰难的技术类测试中杀出重围的时候。但非技术问题也十分重要,千万不可掉以轻心。
答题要点
-
非技术问题虽然形式简单,但并不好回答,因为它们的答案没有对错之分,每个求职者的回答都不一样。非技术问题的目的是了解求职者的个人经验和工作能力,并与其他的求职者进行对比。所谓个人经验包括了你的工作经历,也包括了你的知识面和知识水平。
-
有时候,即使你回答技术类问题的时候表现优异,如果你以前的个人经验与有关职位不相称,你也可能得不到这份工作。因此,在回答有关个人经验方面的问题的时候一定要慎之又慎——这类问题通常是面试官怀疑你能否胜任有关工作的一个信号。此时,扬长避短、不卑不亢将是你最应该遵循的原则。
-
最后,考官一般会告诉你一个时间给你回复,有时侯会没有回音,对于求职者,建议在面试结束后一周内,给考官联系,打电话或者 Email,表达一下感谢,捎带询问面试结果。当然可以表达对这个工作的热情。这一环节很多人忽略,公司在面试后也有可能流失一部分应聘者,善始善终或许会带来很大的转机。
不是每一个面试都很一帆风顺,如果一次失败了,应该注意总结一下这次的面试的经验教训,这样会为你以后的求职储存巨大的财富。相信每一个求职者不断努力,都会赢得自己钟爱工作。
面试复习路线,梳理知识,提升储备
自己的知识准备得怎么样,这直接决定了你能否顺利通过一面和二面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。
关于知识梳理,这里再分享一下我面试这段时间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)
- 架构师筑基必备技能
- Android高级UI与FrameWork源码
- 360°全方面性能调优
- 解读开源框架设计思想
- NDK模块开发
- 微信小程序
- Hybrid 开发与Flutter
知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结:
《960全网最全Android开发笔记》
《379页Android开发面试宝典》
历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
sjmmA2d-1618829092912)]
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。