字节跳动五面都过了,竟然意外被刷了下来,问了hr原因竟说是。。。。。
说在前面,面试时最好不要虚报工资。本来字节跳动是很想去的,几轮面试也通过了,最后没offer,自己只想到几个原因:1、虚报工资,比实际高30%;2、有更好的人选,这个可能性不大,我看还在招聘。我是面试Android开发的,3年经验,下面是面试流程: 一面 1.插件化。启动activity的hook方式。taskAffity。 2.okhttp支持HTTP2?http2的功能有哪些?tcp方面拥塞控制?tsl的握手和具体的非对称加密算法。非对称名称 3.handler的post(Runnable)如何实现的。callback,runnable,msg的执行优先级。 4.阻塞是怎么实现的?为什么不会阻塞主线程? 5.求二叉树中两个节点之间的最大距离。 6.206含义,未修改资源是哪个,302含义,301含义 7.多进程通信问题。binder优势。aidl生成的java类细节。多进程遇到哪些问题? 8.动态代理传入的参数都有哪些?非接口的类能实现动态代理吗?ASM的原理 9.Application和Activity在Context的继承树上有何区别?二者使用上有何不同? 10.任意一颗二叉树,求最大节点距离 二面 1.设计一个日志系统。 2.内存泄露的分类。怎么查看内存泄露的问题 3.touch事件源码问题。 4.组件化的问题。module和app之间的区别