面试是每个程序员的必经过程,只有准备了充分,才能有更大概率找到合适的好工作
一、前言
今天来给大家分享一下,面试前:
应该怎么准备?
准备些什么?
可能有些人立马想到,不就是准备好简历,背背面试题吗?
是的,这没有毛病。我曾面试过很多次,也面试过别人多次,可能后面也还会去面试,以我的经验来讲面试的准备要落实到具体大纲,让自己在面试过程中脑子里面已经有个大纲可以套用,比起你现场临时思考,再怎么组织语言给说出来,其实好太多了,毕竟我们大多数人都是普通人,是要准备充分的,并不是那种天才型,每次临床发挥都能接近完美。
那怎么准备,且看下面
二、面试前准备好自己的面试大纲
准备好自己的面试大纲,最好是思维导图,这样的脑图更有利于记忆
- 个人简历,平台的录入简历和纸质的简历是不一样的(后面分析),doc文件格式,PDF文件格式,不在思维导图里面
- 个人介绍及简历介绍
- 知识库的大纲
三、简历应该怎么写
有那么一部分人是这样的,比如Boss直聘上面直接填写好,然后直接下载Doc或者PDF就完事了,我刚毕业那会儿也是这样玩法,到后来自己领悟了。这样其实不太好。
站在面试官的角度:看你的在线简历,或者说完全根据在线简历打印出来的纸质简历:你看上面有什么?那上面根本突出不了重点:
用得上纸质简历,一定是已经走到面试环节了。或者说,HR要的你的附件PDF文件简历了。这个PDF简历其实就是纸质简历原版,他们要这个其实也就是平台上面那个在线简历太难抓住重点了
。
上面有,也是基本按照这个顺序排下来的。
- 基本信息
- 求职状态
- 个人优势
- 求职期望
- 工作经历
- 项目经历
- 教育经历
按照这样的方式,很认真很认真,把这些介绍下来,打印出来纸质简历,你得打印4~8张,给人的感觉总是抓不住重点。
面试官想看到的是浓缩到重点,亮点,就给高考老师阅卷看作文是一样的道理,30s左右就搞定。
作文是怎么才能让老师抓住重点的:
开头,结尾,每段落开头几句,结尾几句。
这几个地方是让老师抓住重点的。但是作文有一点是不一样的,有字数限制,格子的大小固定就那么多。
老师就固定几个位置走马观花看完就好了。
但是我们纸质简历不一样。不能搞太多张纸,或者说要把最有用,自己最亮眼又不可或缺的东西放在第一页。让人一眼就醒目。浓缩到极致。我认为最没有用的是工作经历和项目经历,两个要浓缩,试想一下,自己在平台上写的工作经历和项目经历。是否80%内容一样的。面试官只关心你在哪个公司,呆了多久。他们不关注你公司简介。
怎样浓缩呢?
我个人建议第一页应该包含元素有:
基本信息:
名,年龄,工作经验,电话,邮箱,学历(把专业,大学名字一块写了,省得别人又去后面找)求职意向:
望薪资,期望职业,工作性质(全职/兼职),目前状况(在职/离职/多久到岗)自我评价:
价自己的优势,技术上的等,不要和下面4有太多重复的技能优势:
出自己掌握了哪些技术,特色和优势,列出关键技术名词,英文单词。让别人一眼就知道
可能第一页就满了。
第二页:
工作经历:
必要按照平台上面格式,那上面不按照那样写,提交不了,自己word,自己随意,没有人固定格式,突出自我重点就好。
怎么搞?
一个表格或者横着排过来就好
起始时间----公司名称-----地点----职位
筛选人或者面试人不会关注你公司简介啊什么的,大公司简介大家都知道,小公司没有必要知道。有些公司知道名字他们本来就知道。
项目经历:
如果项目经历太多,没有必要全写,把能突出自己重点技能特色的找个 3~4个就好了
,可以在项目经历后面标上部分二字
每个项目需要单独标出自己的 核心技术,技术产出,突出亮点
教育背景
把自己教育经历填过来,其实最高学历第一页别人已经知道了,这里都不重要了,小学高中不用写了。
起始时间----大学名称----专业-----学历
四、个人介绍及简历介绍
这部分是已经走到了真正面试环节了:
我前面不是提到了要准备面试大纲,思维导图:
要把自己个人介绍,及简单简历介绍自己得先写出来。
目的是:让你在真正面试时候:脑子里面有个已经存在的大纲可以套用,而不是临时想出来组织语言。
这里个人自我介绍要写
:
简历里面的项目技术介绍
,也要写出来,纸质简历里面每一个项目技术都要写出来,不要等到技术面试官来问你曾经做过的项目,里面技术什么的,又要现场临时想,临时组织语言告诉他,要提前模拟好那边可能要问到的,准备好应答方案。
我们读书时候考试前复习不就是这样的吗?当然也有可能考试的东西没有准备上,但是你要想,你准备了复习了,总比什么都不准备,你心里面的底气是不一样的。
特别是碰到之前前公司做的项目,被问到技术的某个点上面,搞忘了,回答不上来,这技术官还没有问面试题,只是你自己之前做过的项目简单一问。
项目技术介绍
里面的哪些点,每次面试,每次离职面试,下一次离职面试,稍加复习一下,马上就回忆起来了。
五、知识库的大纲
Android
面试知识库大纲:自己去写成思维导图,方便记忆,后续也可以添加新增内容
-
底层基础知识:
1)JVM相关知识:运行时数据区,对象怎么分配,
GC
及调优方法,ART
虚拟机和调优和ClassLoader
加载器和字节码2)JUC相关知识:并发模型和内存 , 锁,
CAS
,原子变量, 线程池 ,AQS
3)注解反射泛型,注解处理器,
APT , KAPT,KSP,KCP,SPI
机制4)动态代理,
Aspect, Javassist, ASM
字节码插桩等面向切面编程5)基础数据结构和算法
6)IO模型,
BaseIO,BIO,NIO,OKIO
7)理解网络(
Http,Https,Http1.0,2.0,3.0,https
加密原理,TCP,UDP,Socket
及与FD关系 -
Framework
:1)
Handler
2)
Binder
3)
AMS
4)
PMS
5)
WMS
6)
View
的事件处理机制7)
View
的绘制流程8)
RecyclerView
-
JetPack库
:1)
LifeCycle
和LiveData
2)
Databinding
3)
dagger2
4)
ViewModel
5)
Room
6)
Hilt
7)数据分页
Paging
8)
WorkManager
9)
Navigation
10)
DataStore
,MMKV
,Protobuff
-
性能优化:
1)启动优化
2)布局优化
3)内存优化
4)APK瘦身
5)网络优化
6)崩溃、异常捕获
7)增量升级
8)
WebView
优化9)
bitmap
优化 -
三方框架:
1)
retrofit
2)
Okhttp
3)
Shadow
4)
Arouter
5)
glide
6)
Exoplayer
7)
RXJava
-
架构
1)
MVC
2)
MVP
3)
MVVM
4)
MVI
5)23种设计模式
6)组件化
7)插件化
-
Kotlin
1)可变参数
2)
Objec
t关键字3)密封类
4)伴生类
5)数据类
6)协程
7)
Flow
8)
chanel
-
JNI,NDK
,音视频开发 -
其他面试题
可结合我前面文章查漏补缺
2025年Android六边形战士开发趋势,需要掌握哪些技能可自我反省
该怎么学Android进阶,拒绝沦为高级三方SDK调用工程师?
六、总结
本文重点分享了我的一些面试前准备的经验。
一句话总结:需要自己提前准备好一套属于自己的面试大纲思维导图
。
祝愿大家都工作顺利!!!