android适配屏幕大小,算法题 JVM

## 面试经历 7月确定想走后开始看各种面经,复习基础知识,月末开始投简历,心里比较中意字节跳动,但深知第一次就面大概率凉凉,就先投了美团、快手。 美团率先约面试,算法题都比较简单,很快做出,但第一次确实很紧张,导致很多基础知识一片凌乱,二面就挂了…… 快手可能是投的岗位和能力不大匹配吧,没收到面试通知…… 之后就找朋友内推,投了字节跳动,一周后开始电话一面,面完后就那边和朋友玩了两天。结果,过了两天都还没收到回复,以为凉了…… 后面,第三天时,二面面试官加了我的微信,开始约二面时间。二面结束后,面试官明确说让我等三面(开心) 。 大约五天后,面试官约了三面。 三面过程很顺利,结束后又过了三天,和HR简单聊了聊,然后说还有一个leader面。 后面逛Boss直聘时有猿辅导要简历,给了过去后也面试了一波,也是白纸写代码,三轮技术和一轮HR,比较稳妥的过了。 期间有一道题很简单但脑子就是蒙了,面试官引导多次无果后换了个题,很快做出来了。(这里给猿辅导面试官们点赞,体验都很棒) 四面过后,HR问我还面谁没,我明确说了在面腾讯还差一轮 ,于是HR说等我面完腾讯再讨论具体待遇,但offer确定了。 ## 字节三面技术题 #### 一面 1:插件化。启动activity的hook方式。taskAffity。 2:okhttp支持HTTP2?http2的功能有哪些?tcp方面拥塞控制?tsl的握手和具体的非对称加密算法。非对称名称 3:handler的post(Runnable)如何实现的。callback,runnable,msg的执行优先级。阻塞是怎么实现的?为什么不会阻塞主线程? 5:求二叉树中两个节点之间的最大距离。 6:206含义,未修改资源是哪个,302含义,301含义 7:多进程通信问题。binder优势。aidl生成的java类细节。多进程遇到哪些问题? 8:动态代理传入的参数都有哪些?非接口的类能实现动态代理吗?ASM的原理 9:Application和Activity在Context的继承树上有何区别?二者使用上有何不同? 10:任意一颗二叉树,求最大节点距离 #### 二面 1:设计一个日志系统。 2:内存泄露的分类。怎么查看内存泄露的问题 3:touch事件源码问题。 4:组件化的问题。module和app之间的区别。moduler通信是如何实现的。 5:native奔溃的日志采集,怎么处理? 6:注解实现一个提示功能:如果int的值大于了3需要提示。 #### 三面 1:介绍下flutter的启动流程 2:介绍下flutter与weex的区别 3:组件化介绍一下 4:webview中与js通信的手段有哪些? 5:介绍下flutter_boost的原理 #### 四面 1:适配器和装饰模式各自特点和使用场景 2:视频编解码是怎么做的 3:三色球排序 ### 总结 **写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。 由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的?[点击我的GitHub](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)免费获取。 还有免费的高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。** ![跨平台开发:Flutter.png](http://www.icode9.com/i/li/?n=2&i=images/20210710/1625931127499579.jpg)
上一篇:安卓卡顿优化,我是如何收割多家大厂offer的


下一篇:android适配器,2021年华为Android面经