前言
本黄 16 年渣院本科毕业,回忆一下毕业也有四年多了,毕业后始终辗转于一些成果公司做开发。想必和我同样处境的小伙伴,都有着咸鱼翻身梦,始终想去大厂康康。就蹭蹭,不进去也行啊。本打算今年年初金三银四的时候去碰碰运气,刚巧碰上疫情,打算也就被搁置了。
疫情稳定下来后,便开始缓缓的为跳槽做筹备了,到金九银十的时候,先去面了些各种大小规模不一样的公司,最初才抉择了几家心仪的大厂投简历、面试。所以特此过去将本人的面试教训分享进去,心愿能给行将面试的敌人做下参考。
简历
首先是简历,个别找一个模板,写分明把握的技能和本人的我的项目经验即可。
简历倡议 2 页就行,太长太短都不好。
倡议用把握与熟练掌握取代理解与精通。
这里教给大家一个小套路,能够进步收到面试邀请的机会。那就是在你简历的左上角印上筹备面试公司的 Logo。面试官在一堆简历中忽然翻到一张印着本人公司 Logo 的简历,未免会多看你的几眼。
面经
接下来一些公司的面经了,分享进去供大家参考。
DOUYU
斗鱼一面
1.Java 多态的了解
2.HashMap 原理
3. 手写一个单例模式,问有什么优缺点
4.View 的绘制流程
5.APP 的启动过程
6. 说说插件化的原理,资源的插件化 id 反复如何解决?
7.Recyclerview 优化
8.Handler 音讯机制
9. 用过哪些第三方库,OKHTTP 原理说一下,热修复原理呢?
10. 对屏幕刷新机制的理解,双重缓冲,三重缓冲,黄油模型
11.onCreate,onResume,onStart 外面,什么中央能够取得宽高
12. 为什么要用线程池(扯到线程分配资源的过程,和过程分配资源过程的区别)
13.GC 内核清理用什么算法,老年代有什么算法?
14.TCP 三次握手四次挥手,第一次和第三次如果没收到回应会怎么?
15.MVP 和 MVVM 有什么区别,那种用的多
Bilibili(上海)
Bilibili 是我始终心心念念想要进的公司,能够第二轮就挂掉了…
B 站一面
1. 自我介绍
2.treemap、红黑树、齐全均衡二叉树
3. 疾速排序和插入排序
4. 个大抵有序的数组如何排序,最快工夫复杂度
5. 如何自定义实现一个 FlexLayout
6.RecyclerView 的回收复用机制
7. 如何实现 RecyclerView 的部分更新
8. 说说对泛型的理解,Retrofit 中的泛型是怎么解析的
9. 说说对 binder 机制的理解
10. 过程的状态,线程的状态,两者有区别吗
11.synchronized 锁住对象的了解
12.Fragment replace 生命周期变动
13.TCP 和 UDP 有什么区别?讲讲招手挥手过程
14. 用过 C ++ 开发吗
15.Dalvik 和 Hotspot 虚拟机理解吗?有什么区别?
B 站二面
1. 说本人做过最称心的我的项目
2. 性能优化你做过哪些工作
3. 屏幕适配做过哪些工作
4. 遇到过哪些坑(艰难点),是怎么解决的
5. 如果要你来开发 B 站的一个页面,哪一个页面能够很快动手
6. 用过哪些框架?MVVM?Jetpack 有动手吗?
7. 用过哪些开源库
6. 热修复、插件化都用过,遇到过哪些坑?能够讲讲原理吗
7. 为什么想来 B 站,看哪种视频多一点,点赞多还是白嫖多
8. 你感觉 B 站 APP 有哪些能够优化的中央
ByteDance
字节一面
0. 算法有点题比较复杂,记不起来了
1. 构造方法有哪些?重载与重写的区别?
2. 线程有哪些状态?
3.WebView 平安问题,做过 WebView 性能优化吗
4.RecyclerView 缓存构造
5.RecyclerView 回收复用机制,回收什么?复用什么?回收到哪里去,复用从哪里拿?
6.Handler 休眠是怎么的?epoll 的原理是什么?如何实现延时音讯,如果移除一个延时音讯会解除休眠吗?
7. 手势操作 ActionCancel 后怎么勾销
8. 相熟 AIDL?反对哪些数据类型?说说 oneway 的作用?怎么了解单向调用?
9. 说说 https 怎么避免被抓包吧
Tencent(offer)
腾讯技术面
1. 介绍一下你们我的项目的架构
2.Rxjava 是怎么实现线程切换的
3.Rxjava 自定义操作符
4.ARouter 的原理
5.ARouter 怎么实现接口调用
6.ARouter 怎么实现页面拦挡
7.MVP 怎么解决内存透露
8.OkHttp 怎么实现连接池
9. 如果让你来实现一个网络框架,你会思考什么
10. 你做过什么性能优化的工作
11. 热修复的原理,资源的热修复的原理, 会不会有资源抵触的问题
12.ViewPager 中嵌套 ViewPager 怎么解决滑动抵触
13.android 源码中有哪些设计模式
14. 说说 binder 机制的原理
15.retrofit 怎么做 post 申请
16. 界面优化的一些办法,ConstraintLayout 实现三等分,ConstraintLayout 动画.
17.synchronize 用法,volatile 用法,两者的区别和场景
18. 做过过程保活吗?
19.App 是如何沙箱化,为什么要这么做?
20. 讲讲 bindService 的过程,你当初是怎么优化后盾服务过程的?
21. 弱网环境你如何做的网络优化?
22.ConcurrentHashMap 的实现原理
23.Kotlin 协成
24.flutter 有上手过吗
25.MVP 与 MVVM 有什么区别
26. 反诘
腾讯 hr 面
1. 为什么思考换一份工作?
2. 在你们公司这几年感觉怎么样?
3. 在这几年里,你有做过什么感觉最有价值的工作
4. 对腾讯的印象是怎么的
5. 有女朋友吗,对搬来深圳什么想法…
6. 你有什么要问我的吗?目前有几个 offer,倾向性是怎么的?
总结
下面面试的问题并不是面试官提前准备好了,而是从简历中查看你做哪些项目,在两头抽取我的项目中设计到的那些技术点进行发问,看你是否能有比拟好办法解决。我集体倡议是面试前不要随随便便找题刷,而是要重视本人负责过的我的项目中设计到的技术,以及在过程遇到的技术问题,本人进行演绎总结;再去找相干的题进行参考。
学习资源分享
《Android 八大模块进阶指南》
这份笔记一共 8 大模块、729 个知识点,3382 页,66 万字,能够说笼罩了当下 Android 开发最前沿的技术点以及阿里、腾讯、字节跳动这些大厂面试时最看重的技术。笔记都是依据高级工程师常识体系来整顿的,须要的敌人点击这里收费支付,保障收费分享!
绝对于咱们平时看的碎片化内容,这份笔记的知识点更系统化,更容易了解和记忆,是严格依照常识体系编排的。
一、架构师筑基必备技能
1、深刻了解 Java 泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java 虚拟机原理
6、高效 IO
……
二、Android 百大框架源码解析
1.Retrofit 2.0 源码解析
2.Okhttp3 源码解析
3.ButterKnife 源码解析
4.MPAndroidChart 源码解析
5.Glide 源码解析
6.Leakcanary 源码解析
7.Universal-lmage-Loader 源码解析
8.EventBus 3.0 源码解析
9.zxing 源码剖析
10.Picasso 源码解析
11.LottieAndroid 应用详解及源码解析
12.Fresco 源码剖析——图片加载流程
…
三、Android 性能优化实战解析
腾讯 Bugly: 对字符串匹配算法的一点了解
爱奇艺:安卓 APP 解体捕捉计划——xCrash
字节跳动:深刻了解 Gradle 框架之一:Plugin, Extension, buildSrc
百度 APP 技术:Android H5 首屏优化实际
支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」
携程:从智行 Android 我的项目看组件化架构实际
网易新闻构建优化:如何让你的构建速度“势如闪电”?
…
四、高级 kotlin 强化实战
1、Kotlin 入门教程
2、Kotlin 实战避坑指南
3、我的项目实战《Kotlin Jetpack 实战》
- 从一个膜拜大神的 Demo 开始
- Kotlin 写 Gradle 脚本是一种什么体验?
- Kotlin 编程的三重境界
- Kotlin 高阶函数
- Kotlin 泛型
- Kotlin 扩大
- Kotlin 委托
- 协程“鲜为人知”的调试技巧
五、Android 高级 UI 开源框架进阶解密
1.SmartRefreshLayout 的应用
2.Android 之 PullToRefresh 控件源码解析
3.Android-PullToRefresh 下拉刷新库根本用法
4.LoadSir- 高效易用的加载反馈页治理框架
5.Android 通用 LoadingView 加载框架详解
6.MPAndroidChart 实现 LineChart(折线图)
7.hellocharts-android 使用指南
8.SmartTable 使用指南
9. 开源我的项目 android-uitableview 介绍
10.ExcelPanel 使用指南
11.Android 开源我的项目 SlidingMenu 深切解析
12.MaterialDrawer 使用指南
…
六、NDK 模块开发
1、NDK 模块开发
2、JNI 模块
3、Native 开发工具
4、Linux 编程
5、底层图片解决
6、音视频开发
7、机器学习
七、Flutter 技术进阶
1、Flutter 跨平台开发概述
2、Windows 中 Flutter 开发环境搭建
3、编写你的第一个 Flutter APP
4、Flutter 开发环境搭建和调试
5、Dart 语法篇之根底语法(一)
6、Dart 语法篇之汇合的应用与源码解析(二)
7、Dart 语法篇之汇合操作符函数与源码剖析(三)
…
八、微信小程序开发
1、小程序概述及入门
2、小程序 UI 开发
3、API 操作
4、购物商场我的项目实战……
全套视频材料:
一、面试合集
二、源码解析合集
三、开源框架合集
篇幅无限,须要《Android 开发八大模块进阶指南》的小伙伴点击这里收费支付!保障收费分享!