Android 面试那些事儿
这是周五晚上应大家要求,我在我的邪教群里给大家做的一个面试主题的讲解,全程都是手动打的文字,时间持续了将近 2 个小时,当时关于面试讲解的很细,群里有心的人把一些精华提取并整理出来了,这里作为福利送给你们吧,也希望能对你们有点用处!
01. 基本信息
简历不要太花哨, 你是应聘的技术, 不是设计师
简历把一些基本信息要说清楚(无关的不要写, 比如头像之类的)
有个人博客, 跟 GitHub 的写上, 若没有内容那就算了
应届毕业生需写上相关证书之类, 有经验的可不写
简历控制在两页 A4 纸
02. 项目经验
一般写 2, 3个代表性的项目就好,优先写本职工作相关的
时间为倒序
说明你在项目当中的职责作用
项目模块需要了解大概逻辑与思路,以及一些关键的技术点,以防面试官问到
没有项目经验的也要模仿一两个小 Demo
03. 须知
自己亲自做的东西一定要明白, 如果不是自己亲自做的, 请慎重骗面试官
问的时候会问一些知识点相关的话题,比如你的数据是需要 api 交互的,那可能会问 http 相关, json 数据解析相关,缓存相关,图片加载相关等
对用到的知识点虽用不着一定要看源码的地步,但是最好要懂原理,比如图片加载一定要知道二级缓存,一些常见的缓存算法
04. 注意事项
去面试前一定要花点时间了解下你面试的这家公司(本身有自己产品的下载体验一下,以防面试过程中问到,或者可以给产品提点意见)
面试的时候态度要谦虚点
学习能力很重要(一定要让面试官感受到你是一个好学的人)
个人兴趣(不要提什么打游戏, 唱歌之类的, 可以说一下业余时间提下自己经常上一些技术社区,看一些技术博客之类的)
除了基本的知识点, 面试官通常都会问一些比较深的领域(可能你没有接触过,但不要气馁, 面试官在考察下你的技术的深度, 这些领域一般包括设计模式, 虚拟机, 插件化, React Native之类的)
05. 常问的知识点
针对不同的级别问的知识点肯定是不一样的。
初级
那基本的 Activity/Fragment的生命周期
四大组件的具体作用以及用法
Activity四种启动模式的区别
ListView的优化
一些动画的使用
Java一些基础知识(如最基本的 String, StringBuilder, StringBuffer的区别; 如ArrayList, LinkedList的区别; Java线程的几种用法)
......
中级
如 View 的事件分发,屏幕适配经验,性能优化的经验、Java 线程几种用法等
高级
如 AIDL、插件化, 如网络的优化, 如缓存的处理, 如插件化, 如 Service 保活
对产品的一些看法, 对代码质量的要求, 对开发流程、团队合作的理解等
06. 工资
不同的城市肯定工资水平不一样的,这里仅以一线城市为例,而且不同的公司、个人能力的高低都会造成工资差异化,这里只是一个大概,仅作参考。
初级的大概 8k 以下吧(能力优秀的可以达到 1w 左右),一般 1 年左右;
中级的大概在 10k—15k 左右,一般 2 年左右;
高级的在 15-25k 范围,一般 3 年以上;
PS:群里人整理了一份 Android 面试相关的资料,还是蛮全的,这里免费赠送给大家,在公众号回复「面试」获取。
本文原创发布于微信公众号 AndroidDeveloper「googdev」,不仅是Android原创干货分享,也许是最有人情味的技术公众号,转载请务必注明出处!