自我介绍
我是16年从南京工业大学毕业,直到现在,我已经在Android开发的这条路走了6年快7年。在这几年的时间,我见证了移动互联网的“盛衰交替”,身边的同事都是转行换业,所见的市场行情也是一片萧瑟。
如今,虽然Android已风光不再,但是“它”还是那个Android,还是那个我赖以生存、夜以继日陪伴着我的朋友。所以,我永远不会放弃它。
好了,情感已经抒发的差不多了,我们进入正题;虽然我没有拿到两个offer,但是华为的那场面试我也走到了最后一面,没拿到offer,还是觉得挺可惜的。 这场你们就当凉经看好了;
字节跳动一面:技术面(电话面)
1、自我介绍+介绍项目
2、Activity生命周期,每个回调方法的作用是什么?
3、事件的分发机制
4、内存泄漏
5、遇到过滑动冲突吗?滑动冲突的解决方法
6、如何进行单元测试,如何保证App稳定 ?
7、说一说Android中如何查看一个对象的回收情况 ?
8、Apk的大小如何压缩 ?
9、如何通过Gradle配置多渠道包?
10、插件化、组件化、热修复原理分析
字节跳动二面:技术面(视频面)
1、深挖项目
2、Activity 生命周期,A启动B两个状态分别是什么 ,A的onStop一定会执行吗?
3、surfaceView 和普通view的区别
4、Bitmap高效加载
5、线程之间的通信方式handler
6、内存泄漏
7、为什么handler可以线程切换
8、Rxjava map关键字的作用是什么
9、怎么获取view的宽高,如何确定值是准确的,说了view.post()补充、viewTreeObserverOnGlobalLayoutListener
10、场景题:头条列表有多个不同的card,使用RecyclerView怎么解耦getViewType,获得不同的card
11、说了用个管理类映射,面试官说用注解、反射,依赖注入。
字节跳动三面:技术面(现场面)
1、项目深挖
2、ARouter路由原理
3、如何管理过多的路由表?
4、看视频的时候网络请求很慢怎么优化?
5、说说HTTP3.0有什么改进?
6、App上线后用户使用时卡顿怎么查看是什么原因?
HR面 30分钟
1、对面试官的评价
2、了解字节跳动吗
3、学习经历,遇到了什么挫折,怎么解决的
4、对字节跳动有什么建议
5、你觉得字节跳动存在的问题是什么
6、挑选工作你看中的是什么
7、有offer吗?
8、你对一份工作更看重哪些方面?平台,技术,氛围,城市,还是money?
9、理想薪资范围;
10、理想中的工作环境是什么?
11、谈谈你对跳槽的看法
12、说说你对行业、技术发展趋势的看法
华为
1、android事件分发机制,请详细说下整个流程
2、android view绘制机制和加载过程,请详细说下整个流程
3、图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理?
4、A、B、C、D分别是四种Activity的启动模式,那么A->B->C->D->A->B->C->D分别启动,最后的activity栈是怎么样的
5、Service的生命周期,两种启动方法,有什么区别
6、Handler、Looper消息队列模型,各部分的作用
7、Binder原理
8、描述一次跨进程通讯
9、Bitmap的处理
10、手写实现一个网络框架(参考Volley)
11、插件化框架描述:dynamicLoadApk为例子
12、热修复原理
13、Asynctask和线程池,GC相关(怎么判断哪些内存该GC,GC算法)
最后
两次面试总结:华为+字节跳动
人生之事,幸之有三;有失、有舍、有得;
简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。
选定你想去的几家公司后,先去一些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围, 平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!
整理不易,白嫖太易!有需要的读者朋友们可以关注一下。以上面试题+解析都可分享~
网友评论