68931406ca4494a0f5bbd4d6d0f27547
Mobiker

在我写这篇随笔的时候,摩拜单车已经更名为美团单车,也是我失业的30天纪念日,本人比较懒,就一起"庆祝"吧…
先给大家分享一段视频,有关共享单车的兴起,有关摩拜的发展,无关于我

https://pan.baidu.com/s/148y3t3cdt6lprwDfWbZFdw

视频的最后一张图片(如下图)应该算是摩拜北京的技术部最近最全的一次合影了吧,我也在其中,很小,看不见,就像我在摩拜短短的8个月的时间所做的贡献一样。我从18年4月18号进入摩拜,带着一份毕业生对未来都有的憧憬,开始了第一份正式工作,同月3号,美团收购了摩拜,所以似乎从一开始,我就参与了摩拜的"消亡"。12月24号,周一,我被通知"优化"了,当时心情很复杂,第一时间打开了Boss网,开始投递简历。在难过之于,还有点后悔,没能亲眼见到非常亲民的阿姨,现在想想如果可以跟着阿姨一起再创业,也蛮不错的哈哈~没法办法就这样结束了,包括我第一份工作~没办法就这样结束了,资本推助你的,最后其实你都得还回去!

另外感谢下鱼哥,一位音视频大佬,在这段时间看了很多遍他发的有关"互联网寒冬"的几篇章,让我不再那么自我否定,失败,不安~(或许这也称不上什么打击,也或许是我对摩拜还有感情,也或许…)

我并不想把这篇文章写成有关"悼念"摩拜,有关自我"矫情",还是更多的分享我这一个月的面试经历以及思考,以希望可以给刚工作的不久的同龄人一点点启发和帮助。

这一个月大大小小的公司我面了"无数家",身心疲惫,以至于我看到"面试"两个字都想吐,可能是由于后来收到了几家非常满意的offer,自己的心也松弛了下来,身体上的累才开始显得更明显吧。

记得最多的一天我面试了三家,上午,下午,晚上各一家,之所以这样是因为我并不是一个十分自信的人,虽然身边的几个朋友有时叫我大拿,夸我大佬,但我自己知道自己几斤几两,同时也感谢我的朋友帮我内推,和我一起吐槽摩拜经历的种种,让我不至于陷入自我否定的无限循环。下面进入正题谈谈这一个月的面试经历吧~

排名不分先后,只是想到哪里写哪里。拼多多,百度,小米,360,搜狐,头条,玩吧,多看漫画,猎豹等等暂且列举这些吧。还是那句话,之所以我参加这么多场面试,不是因为我没有明确的目标,也不是为了证明我可以成为offer收割机,我只是怕,怕我没有收到一个offer而乱了方寸,有时候我甚至想过最坏的结果,北京找不到工作,我跑到上海,杭州,甚至深圳,甚至想过给我10k我也认了,不过到目前为止,结果超出了预期,我还是要更加自信些。但是我还是要告诫像我一样工作年限短的同龄人,不要裸辞,不要裸辞,除非像我这种万不得已被裁员,裸辞时间越长,压力越大,你想要达到的目标就会慢慢变得不再那么重要。

拼多多

"备受争议"的一家电商公司,发展很快,不过这不是我想说的重点,我想说的是,拼多多的两位技术面试官很和蔼(当然hr同学也很好了~),提出的问题很新颖,就拿Handler来说吧,大部分的公司都会直接问,说说你对消息机制Handler的理解,拼多多的提问大概意思是:

1,让你设计一个线程池,如果调用者在传入的Runnable任务时,在run方法直接使用了Handler,会发生什么?
2,1的问题还比较简单,子线程不会默认给你一个looper,你需要调用prepar去创建,调用loop去开启无限循环,这是一个正常的回答,问题又来了,面试官又问你,接下来又会发生什么?
3,到这里我相信会有一些同学暂时会"蒙"一下,心想,应该不会发生什么了吧?2中已经提到loop是无限循环取消息,如果到现在什么都不做,这个线程会一直停留在run方法中,结束不了.到这里还没完。
4,知道IntentService吗,它里面也有一个Handler,它是如何结束执行呢,如果多次start这个IntentService,它又如何判断什么时候结束呢?

这系列问题都不难,但我想说的是答案并不重要,重要的是我们在学习的时候不但要多问为什么,还要把各个知识点可以串联起来,这个很重要,如果各个知识点都略知一二,都串不起来,说明没有正真的理解。也体会不到学习的乐趣。

为了可以更加深刻的体会到"知识点串联"的重要性,我这里再举一道题:

1,相信大家都被问过activity启动流程,也被问过activity生命周期,也被问过ui绘制流程,当然也被问过在activity的oncreate方法中,为什么获取不到控件的宽高,如何才可以获取,为什么?
2,上面一口气说了四道经典面试题,当然答案不重要,这里我在追问一下:如果在onresume方法中可以获取控件宽高吗?在追问一下:ui绘制流程和activity生命周期有什么关系,或者ui开始绘制的时机到底在什么时候?
3,所以仔细想想,这些知识点都是有关系的,我们在复习的时候应该这样去想,这样才可以更加有效率的去学习,才可以更加快速的摆脱初级工程师的帽子。

这里最后举一道题,以结束拼多多面试给带来的思考: 大家都知道子线程不能更新ui,我再追问一下,子线程真的不能更新ui吗(答:是可以的,也不会报错,当然答案不重要)

百度:

我心目中大厂中的大厂,正因为这样也是我这么多次面试中唯一紧张的一次,还好结果还很满意。两位面试官也给我提了很多建议,很感谢,这里还是用一道现场面试题来表达我的思考吧。

你对网络请求做过哪些优化呢~
1, 对于我这种菜鸟来说,这道题真的很空洞,但是我不能就这样简单的回答,我不知道,我没做过,网络这块我只用了现成的框架,这样回答肯定会挂的!
2, 我相信如果我是面试官,对面坐着一位工作经验不足1年的同学,我也不期待他可以把这道题回答的很好,但我也不想听到那么简单的我不知~
3, 所以,对于这道题而言,我首先回答了下okhttp中链接池复用,又简单讲了下对HttpDNS,IP直连的理解,以及对Http2.0多路复用,长连接的理解等等,当然我理解的非常浅,也当然答案并不重要,重要的是你面对一道不会的题目时,不要简单的去说no,倾其所有,把你的想法和思路都列举出来,不管对错,让面试官看到,你在思考~

当我简单说完这些思路后,面试官又给我深入解释了下,非常感谢~接下来我也会查尽资料去深入学习这块知识,当然其他知识模块也都要慢慢去深入,去总结~

小米

在去面试的路上,感觉小米总参好远好偏僻,到了之后,环境还可以,不过接下来的面试就不是那么顺利了,这可能是我这次所有面试经历中最糟糕的一次了…令人意外的是我居然还通过了面试,幸运~

小米这次面试经历可能对我的影响最大,因为这次经历算是刷新了我一次认知(说是刷新认知,可能夸大了些,但我找不到其他词语来描述了,就这样了),还是用一道现场面试题来:

依然答案并不重要,我记得我回答这道题目的时候有理有据,面试出来后,我总感觉哪不对,就又认真看了看源码,写了个demo去验证,果然我的回答大错特错,现在回想面试官听我回答的时候是什么想法,感觉好尴尬~

给我的启示是,看源码的时候,要带着问题去看,可能这个谁都知道吧,我就不着重提醒了。另外对我这样初级程序员来说,看源码的时候不可避免的会去搜索现有的文章帮助理解,这无可厚非,重要的是不要百分百依赖这些文章,我的意思不是说这些文章写的不好,我可能更多的想要强调一个自主独立性,因为你看源码时的思维模式可能和文章作者的不同,这样可能就造成你一直在跟着作者走,没有了自己的思考方向,因此也可能去忽视或者误解其中某些知识点,造成我这次的尴尬~

还有看完源码后,如果可以,动手写一个demo去验证你所学到的知识就更好了,另外更加深层次的要求是,如果可以手动模仿写一个大概的功能框架,相信会对其中实现的细节更加透彻,比如手写Handler,手写Retrofit等等。

最后我还想谈谈对算法面试的想法,仅仅是为了应付面试而言的,并不适合正真对算法感兴趣想而要去提高的伙伴。

如果对算法并不是那么感兴趣,仅仅想要应付面试而言,算法其实并不可怕,大家都知道头条可能是面试算法最多的一家公司了吧,即使这样,头条算法面试中的题目也都不难,无非是数组,链表,以及二叉树的操作,最多加一些简单的动态规划题目~

例如中序遍历二叉树,使用非递归方式,就拿这道题而言,非常基本,也没有难度,希望对算法面试畏惧的同学提高信心,认真学习数据结构就可以了~(另外在补充一点,对于校招而言,因为有一个线上笔试环节,笔试中的算法平均难度稍微高于面试中的~)

算法推荐书目:剑指offer,程序员代码面试指南(作者:左程云)
刷题网站:leetcode,牛客网
另外我这里还有一些经典的视频课程,感兴趣的伙伴可以找我哈~个人觉得非常好~

我的面试经验分享可能不会去罗列太多的具体题目,因为我认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~(当然肯定会有很多小伙伴想要去看具体的面试题目,这个很简单,百度博客很多很多取之不尽,另外还是推荐下牛客网,里面的面经一辈子都看不完~足够了)

最后吐槽一下,美团单车这个名字真的不好听!

(以上,雪人自述,埋头苦干,路还很长)

© 著作权归作者所有
这个作品真棒,我要支持一下!
本专栏将主要分为以下几个分部: 1,深入分析Android系统源码,包括四大组件,动画源码以及时间事件分发机制等...
7条评论
xiaohua
#1

字里行间能够看的出LZ是真的爱着摩拜

作者,我需要你的视频

雪人
#3

#1楼 @xiaohua 是啊~痛并爱着

雪人
#4

#2楼 @紫格调 加我微信吧(heyan0126),给你分享链接~

👍

Alisa12
#6

很谦虚

优秀,你居然叫人阿姨

top Created with Sketch.