- 二叉树的深度和广度,要求一次遍历
- 给定一个二叉树和一个目标数,在二叉树中是否存在一条路径的所有节点的和与目标数是相同的case,并且打印。
总结
效率并不是很高,而且并不主动,可能是跟我要的薪水太高有关系,后面通过询问才知道,技术面试是通过了,可能字节跳动本来薪水就很高,我再跳过来,猿辅导考虑到我的工作年限和年龄,会倒挂一大批人,所以只能平薪过来,而且这样知道我肯定不会来,就没主动跟我说。
整个面试环节总体来说还可以,但是就是效率不高,也可能是我运气不好,我是4:10到猿题库的,然后在前台等了20所分钟,hr才来,说了刚才在电话会议耽误了,这个理解,然后等待面试又等了10多分钟,来了server的面试童鞋,写了道算法题,重新调整到Android面试,又等了15分钟,真正Android面试开始在5:10左右,面试完成后基本到了8:30了。
对自己的表现基本满意,就是好久不手写代码,有点生疏,写的比较慢,大多数问题和答案都得到了面试的认可,对一些知识点没有复习到,其实我是这样认为的,并不是所有的问题或者知识都需要知道,你只需要有1~2个方面了解的很透彻,得到面试官的认可就行。
4. 趣头条
一面
- 在抖音上显示自己做的功能,框架的搭建,实现原理,所做的优化点等。
- 组件化的实现,为什么做组件化,不同实现的优缺点。
- hashmap的实现原理
- view的优化,减少层级,异步加载,x2c框架引入,优缺点,textview的优化。
- mp4播放alpha视频实现的原理
- 一面面试官大概聊了1个小时左右,没让我写算法,细究原理和细节,非常仔细。
二面
- 冷启优化的一些方案。
- 数据驱动业务的理解,怎么做,和pm产生分歧怎么解决。
- 我所有做的优化的收益是什么,有什么数据支撑。
- 事件分发机制,举了一个具体的例子来解决。
- http的一些问题,1.1和2.0区别,心跳机制,https怎么建立链接,怎么进行数据加密等。
- 为什么离开抖音,职
业发展,诉求等。
聊了大概一个小时,面试官的思路相对独特,不是为做技术而做技术,技术始终要服务于业务,我非常认可。
总结
趣头条北京位于海淀,位置不靠近地铁,需要步行一段时间,不过效率挺高的,在面试完的第二天就给我发offer了,面试流程也相对较少。对趣头条的营收模式看的不是很清楚,类似发钱看新闻,但是现在头条也再做这个,趣头条能够搞得过头条是个问题,如果没有增长点,那后期的转型是什么(我瞎操心啥)?总体来说体验还是不错的,hr也很真诚,多次沟通,虽然最后我没有去,感兴趣的同学可以去看看。
5. 瓜子二手车
瓜子二手车真的是太远了,从海淀到工作地方将近花费了2个小时,而且还不在地铁附近,还需要坐公交。
一面
- 聊了一下项目中做过的东西,字节码注入相关知识,transform优化,mp4礼物实现等
- 从桌面点击icon图标开始,整个启动activity的启动过程
- Binder的实现原理
- 插件化的原理,以及hook点,大概有两个,可以网上搜索一下
- hashmap的实现原理
- 单例的实现,sychrnized的实现原理,以及双锁不加violate,会不会有线程安全问题
- 二叉树,读取每一层最右边的节点
二面
- 聊聊大概履历,以及在华为、字节跳动都做了什么,为什么要离开。
- 职业规划,怎么带领团队
- 代码设计的基础原则,以及用UML画出工厂模式
- 将两个有序的链表合并成一个有序的链表,递归和循环两中方式
- 时间分发机制,并且需要从Android的sensor开始到应用层,我只知道从Activity开始的流程。
- 聊操作系统Unix,汗颜,我知之甚少。
- 对新技术的看法(flutter),瓜子二手车也已经开始在项目中使用fultter相关技术
三面(总监)
- 自我介绍,为什么要离开抖音
- 线程安全的问题,sychronized和viloated的使用
- 实现一个CAS(乐观锁)的方法
- HashMap的实现原理,怎么优化内存占用,优化resize的过程,这个是开放的问题
四面(VP?)
- 自我介绍,在抖音做了什么
- 在抖音做的比较好的两件事情
- 设计一个美团的框架,组件化
总结
瓜子二手车是众多二手