2017年3月初Android求职回顾
前言
大概2月中上旬的时候,因为个人原因,向公司提出离职,过程中虽然有一点波折,但是还是成功的而且好聚好散的在三月初离开了老东家。本来还想休息个十来天的样子,结果每天一个人在家的时候,感觉像是被这个世界抛弃掉了一样,无所事事,十分痛苦。最后还是忍受不了这种寂寞,开始投简历,找工作。
到目前为止,收到了5个面试邀请,拿到了3个offer,我已经接受了其中比较中意的一家,周一入职,这两天在收拾东西,准备搬家,今天刚好闲下来了,因此想写一写这段时间的面试求职回顾,希望对大家有所帮助。
面试
公司A
团队20-40人,直播,主要运营海外用户
首先是一张笔试题的卷子,然后进来一个Android Leader开始面试。
Android相关的问题:
- 关于Android开发架构的相关问题(设计模式相关)、
- 相关优化的问题(如网络优化,内存优化等等)
- 如何高效的实现直播中,给主播送礼物的动画
然后第二个人面(不知道是架构师还是什么):
- 让我写了一个二分查找,就结束了(黑人问号脸)
最后是HR:
- 上一家公司离职原因
- 期望薪资
- 最快入职时间
个人点评:感觉公司还不错,但是面试的问题感觉还不够深入。
公司B
50-100人,电视,直播相关的互联网公司
没有笔试题,第一个是Android的技术人员面试,主要的问题是:
- 当前做过的项目,用到的技术
- 聊聊react-native的项目,简述RN的优势在哪里
- 是否使用RxJava重构过自己的项目,RxJava的优势在哪里。
- 手写一个简易的结合Retrofit+okhttp的网络请求的代码
- 手写一个字符串匹配的算法(当时忘记了KMP算法的实现,囧)
然后是CTO面试,问的十分广泛,天马行空
- 先聊起目前自己做过的项目,优化过那些。
- 在开发工作中,碰到那些头疼的问题,怎么解决的,使用什么工具
- 是否接入过聊天的SDK,开发中碰到过什么问题
- TCP和UDP的区别,造成这些区别背后的机理是怎样的,开发时,是否使用过其中一种或两种。
- 是否写BLOG,从什么时候开始写,阅读量如何
- .....
- 期望薪资
个人点评:感觉很不错,但是对自己的表现还不是特别满意,居然忘记了字符串匹配算法。而且手写代码的时候,也没有太注重面向对象的思维。
公司C
20-30人的创业团队,为电信提供服务
由于公司好像并不是做互联网服务的吗,因此只有一轮面试
- JIN的使用步骤
- C/C++层如何把不同的数据类型传递到Java层
- recycleView与listView的区别
- Fragment的相关操作
- ....
- 期望薪资
个人点评:可能是创业团队的缘故,工作环境不太好,而且貌似他们是做底层的,面试官对Android的了解还没我多....
公司D
20人以内,智能硬件相关的创业团队
人比较少,也只有一轮面试,所幸面试的是个技术大牛,全栈,所以大概聊了将近两个小时:
- 目前所做的项目
- 个人中短期目标,以及如何达成目标
- 对于RxJava的理解,以及它的优势
- 编译原理,数据结构,操作系统,计算机组成原理挨个问(所幸对前两者还比较熟悉)
- 开发过程中碰到的比较困难的问题,以及如何解决
- 优化相关问题
- Android端如何设计一个可以通过WIFI/ble连接,支持多种设备,多种操作,本地和远程数据更新的控制模块,请画出结构图。
个人点评:和面试官聊的还是很开心的,毕竟的全栈,视野开阔,而且问问题的同时也能给你提供不同的思路。
公司E
网络安全相关
收到面试邀请,但是我已经决定入职上面的一家公司,所以并没有去面试。
腾讯电面
大概是周四晚上收到腾讯的电话面试,他们问得也比较宽泛,不过我猜自己的表现还欠佳(你可能不信,接到电话的时候,我正在上厕所):
- 开发过程中做过哪些优化
- 碰到过什么问题,怎么解决
- 看过那些framework层的代码
- 如何实现右滑finish activity
- touch事件在Android整个系统中的流动过程
- 如何在整个系统层面实现界面的圆角效果(即所有的APP打开界面都会是圆角,我承认,当时我懵逼了)
- 是否读过RxJava的源码,简单解释
- 给一堆数据排序,要求时间复杂度为O(n)(当时只想到了计数排序)
- 开发过那些比较复杂的项目,简述
- 工作中同事对自己的评价如何,以及为何从上一家公司离职
个人点评:四十分钟的通话,我的腿真的麻了。
后记
本来想多写一点,聊聊写简历,面试的问题,但是转念一想,我并不是HR,也很少作为面试官面试过其他人,我其实并不知道什么样的简历是HR想看的,什么样的回答是面试官想听的,如果冒昧的谈这些,岂不是误人子弟?所以只是罗列了面试的相关问题,各位自行参考。假如其中有你感兴趣的问题,不妨深入挖掘或者展开研究一下。