==
3月5号
19:20开始排队,20:00开始面试,20:25面试结束,感觉后面还有人。
没有自我介绍,直接开始问(当时感觉就没戏,有点像应付的样子,毕竟也有点晚了,但面试内容全是面经上的,不过有点紧张,有些没答出来)。
-
最满意的项目 -
在项目中做了什么 -
实习中做了什么 -
四大引用 -
用的图片缓存框架,自己实现的话用什么引用(脑子卡了,说的弱引用,结果直接翻车) -
Java泛型、应用场景、super与extends关键字 -
Activity启动模式及应用、写微博界面用什么模式 -
线程的状态,如何中断线程 -
Service启动方式,与Activity通信方式,还有其他方式吗?能在Service做耗时操作吗? -
自定义View需要重写的方法及调用顺序、可以在这些方法里面创建对象吗?创建对象会怎么样(这里脑子卡了,之前看过内存抖动的定义,就说了内存抖动,下来想想不应该是卡顿吗) -
Binder应用场景 -
http与https区别 -
udp与tcp使用场景 关于该面试题的答案解析可上?GitHub自行查阅
3月7号
原本以为凉了,第二天就出去玩了,没想到第在路上二面面试官给我打电话了,但是当时在坐车,面试官打了三个电话都没接到(印象分-10000),第四个电话才接到,原本约当天中午12点,来不及就改到了7号上午9点,面试官还是很和蔼随和,体验挺好的。
8点55就进去了,56面试官也进入会议了,开始面试,9点35左右面试结束。
还是没有自我介绍,直接开始问。
-
你做过的项目 -
项目用的什么架构 -
说说MVP,有什么缺点? -
你说到的P层臃肿怎么解决(这里胡说一通,然后说了个代理类)? -
MVP有什么改进? -
说说MVVM的理解 -
ViewModel的作用原理 -
ViewModel与onSavedInstanceState区别(这里翻车,说的是一个手动恢复数据,一个自动恢复) -
ViewModel怎么保存数据的(ComponentActivity调用onDestory的时候保存???) -
LiveData原理 -
LiveData怎么绑定的生命周期(LifeCycle???,原理这里只了解个大概,都没怎么答好) -
说说了解的JetPack其他组件(说了Room) -
Room的注解是编译作用还是运行时作用 -
还有什么改进吗?(组件化) -
组件化的思想(这里真的不了解,胡说一通) -
性能优化(说了过度绘制,RecyclerView缓存以及DiffUtil) -
内存方面的优化呢? -
Bitmap复用 -
Bitmap复用会有大小限制吗(引导我说有) -
你说的卡顿怎么回事(瞎说一顿)? -
说说了解的第三方源码 -
Okhttp怎么实现缓存的(说的拦截器,然后就改口不了解) -
Flutter的优劣势 -
Flutter Android平台通道原理(Flutter在Android上本质就是一个View,其他原理不清楚) -
额,做一道题吧 -
手写栈,尽可能多的实现功能(这里问题很大,考虑了泛型、线程安全、扩容)
这里实现栈的时候出了很多幺蛾子,构造函数使用了非静态常量报错,看了半天也没看出来,面试官说下去解决。使用的index与size会不会多余?(只需要size就行),还有泛型忘了写(面试官一句你的泛型呢?,人都傻了,int用习惯了)
Android高级架构师
由于篇幅问题,我呢也将自己当前所在技术领域的各项知识点、工具、框架等汇总成一份技术路线图,还有一些架构进阶视频、全套学习PDF文件、面试文档、源码笔记做整理一份资料。
CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》
- 330页PDF Android学习核心笔记(内含上面8大板块)
-
Android学习的系统对应视频 -
Android进阶的系统对应学习资料
好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈。
7)]
[外链图片转存中…(img-j9pivp07-1630495792649)]
好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈。
|