两年后,我再次找工作时,在另外一家公司面试,居然又碰到了这个面试官,当然他肯定对我没有印象,我却一眼就认出了他,因为他那句“这都工作3年了”。这一次他提的问题,有不少是上次面试中问过的,在上次面试之后的工作中,对那次提到的一些没回答上的问题刻意学习过,所以这次都能答出一二来。这次面试技术面试过了,接下来的HR面试时聊了很多,也聊得挺开心的,其实我自我感觉还是没什么问题的,但后来还是没有录用我。我心有不甘就去问了这家公司的HR,当然她找了一些理由把我搪塞过去了。我后来回忆了这一次的面试,技术面试虽然过了,但应该是勉强过了而已,尽管当时我都回答出了一些问题,但都不够深入,这一点我自己还是有数的,而且面试的级别是高级,自然要求更高,当时还听到这位面试官说了一句“这都工作5年了”。
所以,根本原因还是我基础不扎实,面试效果不够好。巧合的不只是碰到了以前面过我的面试官,还有这家公司。因为这次面试的前一年,我在这家公司的其他部门也面试过,只不过地点在附近的其它地方。那一次技术面是两个人同时面试的我,面了一个多小时后,让我留下来做一套题,然后回去等消息,也是没有下文了。我想应该也是技术面勉强通过的那种吧,公司在犹豫的时候,有了稍微强一点的竞争者后,就没我啥事了。
如果面试得非常满意,结果往往是很快就通知你入职了。曾经有一次面试情况很好,有公司当场就给我签了合同。还有一次,就是当前工作的某比亚公司,当时是下午去面试的,技术面是3个人一起面试的我,面试效果也很好,一面后马上就二面,二面完了差不多下班时间了,到晚上7点不到,HR就直接通知我准备入职了,HR面试都免了,薪资也和我要求的差不多。推荐我去面试的猎头说,我当时是面试官标注为重点跟进的对象(这里有点扯远了,其实我就是想表达一下,我不是那么不堪的,哈哈哈~~~)。
我举上面的例子,其实就是说圈子其实很小,每次面试的基础知识,其实也就那些。这些年陆陆续续面试过很多次,从最近3年参与过的高级程序员岗位面试情况来看,面试官提的问题大多雷同,比如跨进程间通信、MVC/MVP/MVVM架构、Handler机制、性能优化、View绘制流程、Android事件分发机制、自定义View、事件冲突、常见的设计模式等。遗憾的是,以往的工作当中对这些都没有深入研究过,几乎都只是碰到问题后上网查一下,解决问题了就不管了。这有些客观和主观的因素,客观因素是,深圳的IT公司加班多,光是工作任务就需要加班来完成,同时经常项目紧急,几乎没有时间让你深入去研究某个基础知识,而且经常不需要掌握太深的基础知识,也能解决一般的项目问题。
主观因素是,不知道从哪里下手,需要学到什么程度,导致没有那么强的驱动力去深入学习。所以,这就导致面试中问的那些问题,工作中都遇到过,但就是只知皮毛,一知半解,知识点零零散散,根本无法跟面试官解释清楚,一深入问就跪,更无法成体系去掌握它们。
时间过得很快,一晃就是很多年过去了。而自己的职业生涯状况也让我一度很堪忧,当然,饿是饿不死的,但相比于相同工龄的程序员,真的没有什么优势可言。所以,自己也经常看技术书或者看看网上的文章学习,但这么泛泛地看效果不佳,当时看明白了,很快又还回去了。大神廖雪峰曾经说过,要想掌握好一项技能,就去写一本书。所以,我后来开始写博客了。
二、写博客的经历
这里,我想记录一下我第一次正儿八经认真写博客的经历。