刚开始面试的时候我真的是处处碰壁,面一家挂一家,面完之后怀疑自我,是不是自己真的太菜了找不到工作。工作本身就是双向选择,一家不行再换一家,总有合适的,千万不要因为别人的一句话就全盘否定自己,一定要自信。
下面是面试经历,分享出来是为了给大家一个借鉴,知道这些一线互联网企业注重那些技术,自己去面试也好有个准备,千万别像我,挂了三家公司才知道去准备面试。
viewBinding的原理
Recycleview滑动怎么优化
缓存设计
一级缓存和二级缓存的区别
LayoutManager原理
绘制
onMeasure描述一下
onDraw描述一下
invalidate一定会调用onDraw么
事件分发
fragment
销毁与恢复
与Activity的通信
Activity
Activity的生命周期
销毁与恢复
国际化插件
hashmap
2^n的原因(有多个原因)
扩容
22反转链表
协程原理
rxjava原理
leakcanary
线程池
给你一堆数据,如何画曲线?
事件分发
责任链模式
汽车加油问题
有序无序时删除链表的重复节点
都删除
保留一个
如何实现快手和抖音的整屏滑动效果
如何让运营能看懂社区文章
项目中的难点(问得很细)比如有没有遇到什呢难点呀
线程池原理,几个参数
设计模式
sleep和wait的区别
android序列化
Handler
Hashmap
深拷贝与浅拷贝
sync和Reenterlock
可重入锁和不可重入锁
postInvalidate和Invalidate的区别
两个有序链表合并
anr 分类及原理
项目
viewmodel原理
用了哪些jetpack的东西
livedata为何具有生命周期感知能力
shareperference如何保证线程安全,
为什么不是进程安全的
如何实现进程安全的
viewmodel是如何解决内存泄漏问题的?能解决么
mmkv共享内存和binder的区别
magic ocr项目
有做过多线程开发么
room如何实现orm的
kotlin和java产物一样么有
各种图片格式的区别
如何保证内存与文件的同步
开一个线程commit,commit不用加锁么?
bitmap
怎么确定bitmap被复用了
一张图片占用的内存大小
说来也挺惋惜的,前三家公司都是到了二面甚至是三面才挂掉,如果是一面就挂掉我也不用花那么多时间去煎熬、等待结果,只怪自己自视过高,在一家公司做久了对自己的能力没有一个正确的认知。
之后我开始猛刷大厂的面试题,在朋友的内推下收到了字节的面试题通知,又把字节近几年的面试题都翻出来刷了个遍,终于在四轮技术面+一轮HR面后收到了offer。下面是字节面经:
MVC,MMVM,MVP
内存泄漏
内存泄漏的几种情况
LeakCancary分析内存泄漏的原理
手写单例模式,并分析
算法
activity
service
求浮点数的平方根
Binder的原理
设计模式
工厂模式
建造者模式
启动模式有几种
共享内存原理
kotlin协程的四个dispatcher及区别
window,decorview,ViewRootImpl的关系
面试官 想让你回答如何window和windowManager如何联系的。viewRootImpl是联系window和decorview的纽带
进程间的通信方式
AIDL的用法
事件分发
onIntercept在哪用
事件分发底层的产生
RecycleView的用法
wake lock:使屏幕常亮
Activity是如何被限制到状态栏和导航栏之下的
canvas
canvas的save和restore的作用
canvas的density有什么作用
vsync
android中异步一般怎么实现
android中内存泄漏发生的情况
如何去获取view的宽高
悬浮窗
如何实现一个悬浮窗
一个悬浮窗悬浮在顶层,覆盖了底层的app的启动图标,如果让事件启动图标接收到click事件
Android M之前与之后的权限变化
ContentProvider
使用
如何找到该contentProvider的
RxJava中map和flatmap的区别
view的绘制
viewgroup是如何刷新的
onMeasure,onlayout,onDraw分别起什么作用
onLayout的时候可以layout自己么?
AndroidManifest
和的区别
一个是系统的权限,一个是自定义的权限
两道算法
洗牌问题
接雨水
两道设计
面向对象原则
用代码描述你觉得最有设计感的项目
后面就是HR面了,我就省略了,相信这些大厂HR面试都不会有太大的差别。
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
面试官通常会问一些开放性的问题,对你的思维拓展能力、多方位的思考能力也是一种考验
永远不要打无准备之仗!早做准备,多做准备!
下面分享一下我之前刷过的面试题以及算法资料,希望能帮助到有心在技术这条道路上一路走到黑的朋友!
什么是事件分发机制?主要用来解决什么问题?(校招&实习)
给我说说事件分发的流程 & 你项目解决事件冲突的一些案例。
分别讲讲有关事件分发的三个方法的作用及关系。
如果我在一个设置了点击事件的TextView中dispatchTouchEvent方法强制返回ture或
者false会发生什么?
谈谈你对MotionEvent的认识?Cancel事件是什么情况下触发的?
requestLayout(),onLayout(),onDraw(),drawChild()区别和联系?
除此之外,还有一份全套的BAT、TMD面试真题资料,含解析,需要的朋友也可以去我的GitHub无偿获取。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章