点击上面↑「爱开发」关注我们
每晚10点,分享软件开发资源、社交电商资源
文|洪生鹏 编辑|静子
01
上个月底,通过不断地总结和面试终于找到了新工作,距离我上次辞职已经有将近两个月的时间了,也是我工作这些年来裸辞空档期最长的一次了。
刚开始的时候,我只是在招聘网上更改了简历的状态,并没有主动投递简历,过了几天后我才修改了简历。
都说金九银十是一个求职的好时期,也是招聘繁忙季。然而当我将简历修改完投出去后,我才开始意识到今年找工作不太乐观。刚开始一天一个面试电话,后来就更少了,一周一两个面试电话,渐渐有点慌了,当初辞职时还是信誓旦旦,不愁找不到工作,现在好心慌。
上一次找工作的时候,只要在招聘平台更新了简历,第二天就有好几个面试电话了,现在主动投递了不少简历,响应并没有想象中那么乐观。
这样20多天过去了,渐渐感到很焦虑,感觉成了一个无所事事的人。生活有点浑浑噩噩的,反而羡慕起忙碌的人们,很后悔当初的裸辞决定了。
失业的滋味并不好受,心情从希望到失望,再从失望到希望,在多次循环中度过,这个过程令人心酸。
过了八月份的消沉期,通过不断地修改和投递简历,我陆陆续续地收到一些公司面试邀请的通知,起初面试的机会并不多,面试的情况也并不乐观。后来不断地和朋友交流求职经验,总结自己的问题,反思自己,并不断完善。
02
面试时,和面试官沟通的时间不多,一般面试是半个小时,多则一个小时,在这么短的时间内要想面试官对你有所了解,简历就显得格外重要了,如果不好好利用,为自己争取机会,可能会因此错过offer了。
面试时,要想人前显贵,背地里需付出更大的努力。半个小时面试,可能得准备两三天,甚至更多,跟工作有点类似,大家都在同一个平台下工作,智商其实都差不多,很多时候拼的是用心程度。
一项任务,你用心了,就有可能比别人做得好。一项任务,我们有没有用心去做,领导一看就明白,如果你想糊弄过关,抱歉,领导并不傻。
领导在判断问题时,标准其实并不复杂:
-
我能想到的,你没有想到,说明你不怎么用心;
-
我能想到的,你只想到了一部分,说明你用心不够;
-
我没想到的,而你想到了,说明你不仅做到了,还做很到位。
也就是我们平时所说的“超预期”。如果我们每次都能给领导一个超预期的结果,那肯定值得表扬,升职加薪指日可待。作为员工,不管我们的工作能力如何,首先要考虑的是如何让领导认可我们的工作。
想要得到领导认可,就需要知道领导对我们的预期值。比如领导让你做一个方案,这个方案周五上午要使用,如果你在周三或周四提前完成,这样你就超过了领导的预期;反之,如果你刚好赶在周五上午完成,虽然你完成了工作,但是要是方案哪里出现不足,或是方案需要调整之类的话,这样一来时间就会显得很仓促,你在领导心中就会产生不好的印象,这对你以后的工作十分不利。
程序员的岗位相对有些特殊,要是我们总是提前跟领导反馈任务已经完成了,下次领导安排给我们工作量可能就因此加重了,要是我们自己负责的模块提前完成了,这时候我们可以自己先自测,提前发现已知bug,然后解决,不用等到提交到测试部,再由测试人员反馈bug,不至于提交测试人员测试,bug一大堆,要是真没发现问题,不妨利用这个时间多学点新知识,沉淀自己。
如果对于领导安排的任务实现起来有难度, 应该尽早提出,再根据领导的期望有针对性地工作,从而给自己创造一个良好的工作环境。比如,当你接到一项任务后,领导要是对任务没有提出具体要求,可以根据具体情况主动去和领导讨论,将你自己的想法告诉他。在开始工作之前,提前和领导沟通你对工作完成时间的预计。
要是发现有困难,要及时反馈。比如“根据我的工作经验,这项任务完成可能要比预期的时间向后延迟一两天”等,这样在工作之前就让领导心中有所了解,取得表现自己的机会或者避免因为完成时间的延后而给领导制造麻烦,同时也建立起良好的信任关系。
作为一名Android 开发人员,如何在面试中脱颖而出,就个人观点看,一般需要这两项技能:
-
扎实的技术基础,有技术追求和工作激情 ;
-
良好的沟通能力和协作技能。
简单来说,就是个人的技术水平和沟通能力。其中技术能力始终是面试成败的决定因素,技术掌握到什么程度才能相对轻松地通过面试呢?
一般来说,一场Android面试内容不太可能全是Android开发的问题,应该也会涉及到和编程基础相关的问题。比如java基础、数据结构、算法和常见的设计模式要熟悉,亦或是设计模式,单例模式、工厂模式、观察者模式等。至于数据结构在工作中不常用到,但还是有必要了解下,能够熟练掌握更好。
从事java开发的应该知道java有个垃圾回收机制。求职时要是面试官问“java回收机制对什么东西进行回收”,要是我们只是简单地回答对没有用的对象进行回收,按道理来说,这并没有错,只是这答案并不是面试官问这个问题的初衷。要是能更进一步分析那就更好了,比如这样回答,GC操作的对象分为:通过可达性分析法无法搜索到的对象和可以搜索到的对象。对于搜索不到的方法进行标记。从root搜索不到,而且经过第一次标记、清理后,仍然没有复活的对象。
对于用可达性分析法搜索不到的对象,GC并不一定会回收该对象。要完全回收一个对象,至少需要经过两次标记的过程。
把问题具体化,对类似这样的对象进行回收,相信能给你这次面试加分。
03
在工作中不断提高自身技能,提高自身的竞争力。如何提高自身的竞争力,这里有几点建议可以参考:
1、形成个人知识体系
工作中,有的知识点我们积累往往相对比较零散,需要我们思考汇总,从而形成自己的理解,围绕自己的职业目标,有意地获取和提高自己的知识范围,塑造有利于自己职业生涯的知识体系。
对于Android开发,基础知识要重视。比如App是如何启动的,Activity的启动模式、Service的启动模式、消息机制等,类似这样的问题很多。这类知识点,我们在项目实际开发过程中可能不会太在意,这会导致一个问题,那就是开发中没问题,但要是我们到其他单位面试时,面试官要是稍微问下细节或者特殊情况,可能我们就接不住了,会给面试官留下基础不扎实或是不够深入的印象。所以平时在开发中还是得重视基础知识。
2、形成个人方法体系
著名的PDCA循环(Plan\Do\Check\Action),也称戴明环。PDCA是为了提高质量的管理思想,是一套科学程序,注重管理活动的全部过程。
“P”是PLAN:制定目标和计划
《礼记·中庸》中提到:“凡事预则立,不预则废”,明确说明了目标和计划的重要性。
有时候,我们是走一步算一步,缺少目标的定制和计划,认为制定目标这个很虚,根本没有必要,也就缺少对目标的实施,到底完成了多少,实现了多少,还是那些未实现,是什么原因导致的,都无从复盘。
“D”是DO:行动,实施计划
有的人制定计划,可以说,计划是相当的完美,可却没有行动力,总是三分钟热度,一时的激情过后就没了动力了。
有位记者采访通用汽车公司前总裁杰克.韦尔奇时,问:“请问韦尔奇先生,你们为什么能成功?”,韦尔奇先生回答说“你们都知道了,可我们做到了”。知道计划的重要,可知道归知道,不做又有什么用呢?很多时候我们都没有勇敢的迈出第一步,总是顾虑这顾虑那,慢慢地就放弃了。
“C”是CHECK:对行动的结果进行检验
行动了,做了,要有个结果,对其结果是否满意,思考下次方案是否可以改进等。我们常说,“言必行,行毕果”。说的是行动的力量,要是总是一直用嘴巴说,我要成功,我要达到我的目标,可就是没有行动!口号谁都会喊,可是光喊口号而没有行动,又怎么会有期望的结果呢。
“A”是ACTION:纠正错误,调整方向,其实也就是总结、完善的意思
工作中,小到日报周报,大到月总结季总结等。有总结我们才能更进一步把工作做得更好。平时要注意积累,比如写博客等,这样有助于我们对知识点更好的梳理和掌握。面试的时候也要多总结,一次的面试失败并不代表自己能力不行,需要总结,寻找自身的不足,从而改正,好为下一次更好地面试。
3、明确的职业目标:对自己的职业生涯应该有个目标
阶段性总结,制定合理计划,实现阶段性目标。那么我们平时如何积累面试中需要的技术,我觉得阅读源码是一个不错的选择,面试中的很多问题其实我们都可以从源码中找到答案,其次要主动学习平时工作中没有用到的技术,由于工作的原因,我们不可能通过公司的项目来解除到Android中所有的重要技术,尤其是一些规模不大的项目来说,这个时候需要我们主动去学习。
比如Binder机制、View的绘制流程、事件分发、消息队列、AIDL原理等。类似这类知识点,需要我们不断去探索实践,不断运用,才能在工作中更好地解决问题。
-END-
往期精选推荐
闲聊区
育儿区
技术区
![640?wx_fmt=jpeg](https://i-blog.csdnimg.cn/blog_migrate/5fdce6187e63188882d85ed5d63986fd.jpeg)
更关注精彩内容,请长按识别关注