点击上面↑「爱开发」关注我们
每晚10点,捕获技术思考和创业资源洞察
《礼记·中庸》提到:“凡事预则立,不预则废”,说明了目标和计划的重要性
部门最近在招java开发岗位,来了一位三年多工作经验的程序员,对于刚岗位,单位要求求职者得先做一份笔试题,这位求职者有3道题目是空白的,早听说的有的程序员对做笔试题不是很重视,特别是技术水平厉害的。
于是面谈时我又针对这3道题目问了一遍,出乎意料的是,该求职者竟然回答得很到位,有两处还引申出了其他相关知识点,确实不错,我很喜欢,于是又问了与业务逻辑相关两个问题,回答都很不错,很有实战经验。
于是向HR反馈,这位求职者技术水平可以。原以为HR会同意,可HR看了这位求职者的笔试题情况后,没有多说什么。
下班后,我问HR,这位求职者最终被录用了没。HR告诉我,该求职者没有被录用。
“可他技术水平还可以啊。”
这位求职者他笔试题没有作答,再看看其他的求职者的吧,态度马虎,做事情不让人放心。
说得好像也有一定道理。面试如同相亲,不仅要能力好,态度方面也不容忽视,来一趟不容易,既然来了,就好好配合。
至于最后没有被录用,态度不好或许只是个婉拒的理由,也可能是薪资待遇双方没有谈妥。
面试时,毋庸置疑,专业知识点基础要做好充分准备,如果时间紧,来不及做充分准备,起码也要大致浏览一遍。还有简历上也要多下功夫,看过几位求职者简历,简历上写得跟招聘信息似的,熟悉多线程,熟悉内存优化处理,熟悉开源框架等。
既然写了熟悉了,要是面试官问起,就应该能够很好的阐述,并且举一些相关优化的例子。
面试时,要想人前显贵,背地里需付出更大的努力。半个小时面试,可能得准备两三天,跟工作有点类似,大家都在同一个平台下干活,智商其实都差不多,谁也不比谁高多少(当然能力特别强除外),大多拼的是用心程度。
一项任务,你用心了,就有可能比人做得好。要是你原本就落后别人一大截,人家下班你也下班,人家玩你也跟着玩。
我们有没有用心去做,领导一看就清楚,如果你想糊弄过关,抱歉,领导并不傻。领导在判断问题时,标准其实并不复杂:
我能想到的,你没有想到,说明你不怎么用心;
我能想到的,你只想到了一部分,说明你用心不够;
我没想到的,你想到了,说明你不仅做到了,还做到位了。
也就是我们平时所说的“超预期”。如果你每次都能给领导一个超预期的结果,那绝对是个好员工,升职加薪指日可待。
作为员工,不管我们的工作能力如何,首先考虑的就是如何能够让领导认可我们的工作。
想要让领导认可,就需要知道领导对我们的预期值。比如领导让你做一个方案,方案周五要使用,如果你在周三或周四提前完成,这样你就超过了领导的预期;反之,如果你在周五才完成,虽然你完成了安排的工作,但要是方案哪里出现不足,需要调整之类,这样时间就会相对比较仓促,你在领导心中就会产生不好的印象,这对你以后的工作十分不利。
程序员的岗位有点特殊,要是我们总是提前跟领导反馈任务已经完成了,下次安排给我们的任务可能就加重了,如果我们自己负责的模块提前的完成,这时我们可以自己先测试,提前解决已知bug,不用等到测试反馈。也不至于一给测试人员测试,bug就一大堆。要是真没发现什么bug,可以利用这个时间多学点新知识。
如果对于领导安排的任务实现有问题, 应该尽早提出,再根据领导的期望去有针对性地工作,从而给自己创造一个良好的工作环境。比如,当你接到一项任务后,领导要是对任务没有提出具体要求,可以根据具体情况主动去和领导讨论,将你自己的想法告诉他。在开始工作之前,提前和领导沟通你对工作完成时间的预计。
要是发现有困难,要及时反馈,比如,“根据我的工作经验,这项任务完成可能要比预期的时间向后延迟两天”等,这样在工作之前就让领导心中有所了解,取得表现自己的机会或者避免因为完成时间的延后而给领导制造麻烦,同时也会建立起良好的信任关系。
作为一名Android 开发人员,如何在面试中脱颖而出,找到自己心仪的工作?就个人观点看,一般需要这两项技能:
扎实的技术基础,有技术追求和工作激情 ;
良好的沟通能力和协作技能。
简单来说,就是技术水平和沟通能力。其中技术始终是面试成败的决定因素,技术掌握到什么程度才能相对轻松地通过面试呢?
一般来说,一场Android面试内容不太可能全是Android的问题,应该也会与编程基础相关的问题。譬如java基础、数据结构、算法和常见的设计模式要熟悉,比如单例模式、工厂模式、观察者模式等。至于数据结构工作中不常用到,但还是要稍微了解下,能够熟练掌握更好。
从事java开发的应该知道java有个垃圾回收机制。求职时要是在面试时,面试官问“对什么东西”进行回收,要是只是简单地回答对没有用的对象进行回收,按道理来说,这并没有错,只是这并不是面试官问这个问题的初衷。要是能更进一步分析,那就更好了,譬如这样回答,GC操作的对象分为:通过可达性分析法无法搜索到的对象和可以搜索到的对象。对于搜索不到的方法进行标记。从root搜索不到,而且经过第一次标记、清理后,仍然没有复活的对象。
对于用可达性分析法搜索不到的对象,GC并不一定会回收该对象。要完全回收一个对象,至少需要经过两次标记的过程。
把问题具体化了一些,对类似这样的对象进行回收,相信能给你这次面试加分。
在工作中不断提高自身技能,提高自身的竞争力。如何提高自身的竞争力,这里有几点建议可以参考:
1、形成个人知识体系
工作中,有的知识积累往往相对比较零散,需要我们思考汇总,从而形成自己的理解,围绕自己的职业目标,有意地获取和提高自己的知识范围,塑造有利于自己职业生涯的知识体系。
对于Android开发,基础知识要重视。比如App是如何启动的,Activity的启动模式、Service的启动模式、消息机制等,类似这样的问题很多。这类知识点,我们在项目实际开发过程中可能不会去太在意,这会导致一个问题,那就是开发应用没问题,但要是我们辞职了到其他单位面试,要是在面试时面试官只要稍微问下细节或者特殊情况,可能就接不住了,会被面试官认为基础不扎实或是不够深入。所以平时开发中还是得重视。
2、形成个人方法体系
著名的PDCA循环(Plan\Do\Check\Action),也称戴明环。PDCA是为了提高质量的管理思想,是一套科学程序,注重管理活动的全部过程。
“P”是PLAN:制定目标和计划
《礼记·中庸》提到:“凡事预则立,不预则废”,说明了目标和计划的重要性。
有时候,我们是走一步算一步,缺少目标的定制和计划,认为制定目标这个很虚,没有必要,也就缺少对目标的实施,到底完成了多少,实现了多少,还是那些未实现,是什么原因导致的,都无从知晓。
“D”是DO:开始行动,实施计划
很多人制定了计划,可以说,计划是相当完美,可总是三分钟热度,一时的激情过后就没了动力了。
有位记者采访通用公司前总裁杰克.韦尔奇时,记者问:“请问韦尔奇先生,你们为什么能成功?”,韦尔奇先生回答说“你们知道了,我们做到了”。很多时候我们都没有勇敢的迈出第一步,总是想着这,顾虑那,慢慢就放弃了。
“C”是CHECK,对行动的结果进行检验
行动了,做了,要有个结果,对其结果是否满意,思考下次方案是否可以改进等。我们常说,“言必行,行毕果”“行胜于言”。说的都是行动的力量!要是把自己的理想挂在嘴边,一直在用嘴巴说,我要成功,我要达到我的目标,可就是没有行动!口号谁都会喊,可是光喊口号而没有行动,怎么会有结果呢。
“A”是ACTION.纠正错误,调整方向.其实也就是总结、完善的意思
工作中,小到日报,周报,大到月总结,季总结等。有总结我们才能更进一步把工作做得更好。平时要要注意积累,比如写博客等,这样有助于我们对知识点更好的梳理和掌握。
3、明确的职业目标:对自己的职业生涯应该有个目标
阶段性总结, 制定合理计划,实现阶段性目标。那么我们平时如何积累面试中需要的技术,阅读源码是一个不错的选择,因为面试中的很多问题我们都可以从源码中找答案,其次要主动学习平时工作中遇不到的一些技术,由于工作的原因,我们不可能通过公司的项目来解除到Android中所有的重要技术,尤其是一些规模不大的项目来说,这个时候需要我们主动去学习。
比如AIDL原理、Binder机制、多进程、View的绘制流程、事件分发、消息队列等。这类知识点,需要我们不断去探索实践,运用才能更好的解决问题。
对于面试时做笔试题,大家有什么看法,欢迎在下方留言。
你可能还喜欢
分享职场攻略、技术心得和创业资源
更多精彩内容,请长按识别关注
喜欢本文,点个[在看],分享给朋友