面试,对于我们求职者来说,并不陌生,而且在新一轮的金三银四中,大家对“如何高效准备面试”这个话题呼声尤其高。
的确,作为开发者,大家的时间都很宝贵,尤其是在职跳槽,还需要一边上班一边投简历。
投了好几百份简历,好不容易接到一个面试电话,慌慌张张,不知道如何准备面试,到处搜集各种面试技巧。
记得,我刚开始参加面试的时候就是这样,技术不成体系,花费很多时间面试上,却没有拿到一个心仪的offer。
我相信经历过这种情况的开发者都知道,这样非常容易打击自己的面试自信心,越来越害怕面试就会导致在面试中紧张,会的忘记、不会的还是不会。
这是一个逆性循环,结果只会越来越糟糕。所以,为了帮助大家提高面试效率,我这里说一下面试中应该注意什么以及**如何搭建技术体系,**复习来准备面试。
一、什么是技术体系?有什么用?
所谓**“知识体系”,**指的是把大量的不同的零散的知识点,通过内化、存储、整理、等方式组合起来,形成以点成线、以线成面、形成系统的、有序的、清晰的脉络结构。
我们在工作中解决问题或者面试时,会使用自己的知识体系做出选择,不论是潜意识还是显性意识.每一次的抉择和行为都将迭代我们的知识体系,让其更加明确清晰,找到自己不足的地方,优化可以改进的地方,明确接下来的方向,提升自己的全局整体思维,强化当下的正在使用的技能等。
二、如何搭建技术体系
这里可以看一下我自己做的思维导图,通过思维导图的学习步骤,无论是在工作中还是在面试中都帮了我很多,可以说我进腾讯离不开它的帮助。
###模块化学习资源
根据路线图里的每个模块,我都整理出了相应的学习文档,很全面细致!
1.Android开发必备底层技术
- 序列化
- 注解
- 泛型
- 反射
- 虚拟机
- 并发
- Java IO
- 编译时技术
- 动态代理
- 高级数据结构与算法等内容
2.Framework源码解析
- 系统启动流程
- AMS
- PMS
- WMS
- Zygote
- Init
- Handler
- Binder等内容
3.Android常用组件解析
- Activty
- Fragment
- service等内容
4.高级UI源码剖析
- UI绘制原理
- 事件分发机制原理
- 插件换肤
- 属性动画
- RecycleView
- 高阶贝塞尔曲线等内容
5.Jetpack全家桶
- Lifecycle
- ViewModel
- LiveData
- Navigation
- Room
- WorkManager内核
- Pagging原理
- DataBinding等内容
6.大厂APP性能分析与优化实战方案
- 启动优化
- UI渲染优化
- 崩溃优化
- 内存优化
- 卡顿优化
- 存储优化
- 网络优化
- 耗电优化
- 多线程并发优化
- 安装包优化等内容
7.高级音视频技术
- C/C++
- H.265/H.265
- MediaCodec
- 音视频剪辑
- 音视频直播
- OpenGL与音视频解码
- OpenGL特效
- FFmpeg万能播放器
- Webrtc音视频通话等内容
8.Android第三方主流框架解析
- RxJava
- Glide
- Hilt
- Dagger2
- Okhttp
- 插件化
- 组件化等
9.Gradle高级实战
- Groovy语法
- Gradle Android插件配置等内容
10.kotlin入门到精通
11.Flutter2.0开发
12.鸿蒙2.0系统开发
知识点配套整理资料
三、面试中应该注意什么?
1,了解公司(背景+产品)
我参加过的几乎每一家公司的面试,都会问这个问题,比如
- “你对我们公司有什么了解?”
- “你为何要选择我们公司”
- “你对我们公司的产品技术架构上有什么建议?”
- “…”之类的
那么如何了解一家公司呢?
2,准备好简历
在面试的前一天,要准备并且打印好几份简历,并且一定要熟悉简历项目里的每一项技术,尤其是你的工作经历,你要回忆一下,要能够展开详细说。
总体来说,面试就这几个方面的注意点。
四、总结
知识体系不是一蹴而就的,而是贯穿我们的生活经历和对事物的思考慢慢积累起来的,中间需要海量的知识支撑,不断改变,不断适应。
而这是需要我们不断学习的,我希望大家能在学习不断提升自己的技术能力,并且面试中拿到自己心仪的offer。我们一起努力,共勉!