马上要去面安卓开发岗位了……简历该如何写才不易石沉大海?项目经历该如何展示?有那些必考的面试题?
怎么写简历?
- 简历不要太花哨, 你是应聘的技术, 不是设计师
- 简历把一些基本信息要说清楚(无关的不要写, 比如头像之类的)
- 有个人博客跟 GitHub 的写上, 若没有内容那就算了
- 应届毕业生需写上相关证书之类, 有经验的可不写
- 简历控制在两页 A4 纸
项目经验如何展示?
- 一般写 2, 3个代表性的项目就好,优先写本职工作相关的
- 时间为倒序
- 说明你在项目当中的职责作用
- 项目模块需要了解大概逻辑与思路,以及一些关键的技术点,以防面试官问到
- 没有项目经验的也要模仿一两个小 Demo
须知
- 自己亲自做的东西一定要明白, 如果不是自己亲自做的, 请慎重骗面试官
- 问的时候会问一些知识点相关的话题,比如你的数据是需要 api 交互的,那可能会问 http 相关, json 数据解析相关,缓存相关,图片加载相关等
- 对用到的知识点虽用不着一定要看源码的地步,但是最好要懂原理,比如图片加载一定要知道二级缓存,一些常见的缓存算法
注意事项
- 去面试前一定要花点时间了解下你面试的这家公司(本身有自己产品的下载体验一下,以防面试过程中问到,或者可以给产品提点意见)
- 面试的时候态度要谦虚点
- 个人兴趣(不要提什么打游戏, 唱歌之类的,可以说一下业余时间提下自己经常上一些技术社区,看一些技术博客之类的)
- 除了基本的知识点, 面试官通常都会问一些比较深的领域(可能你没有接触过,但不要气馁, 面试官在考察下你的技术的深度, 这些领域一般包括设计模式, 虚拟机, 插件化, React Native之类的)
常问的知识点
针对不同的级别问的知识点是不一样的。
初级
- 那基本的 Activity/Fragment的生命周期
- 四大组件的具体作用以及用法
- Activity四种启动模式的区别
- ListView的优化
- 一些动画的使用
- Java一些基础知识(如最基本的 String, StringBuilder, StringBuffer的区别; 如ArrayList, LinkedList的区别; Java线程的几种用法)
- ……
中级
屏幕适配经验,性能优化的经验、Java 线程几种用法等
高级
如插件化, 如网络的优化, 如缓存的处理, 如插件化, 如Service保活 对产品的一些看法, 对代码质量的要求, 对开发流程、团队合作的理解等
插件化
-
DroidPlugin 是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。
常见的要求
- 计算机相关专业本科及以上学历,3年以上Android开发经验,有完整应用项目开发经验;
- 熟练掌握Android平台开发,精通自定义UI组件,图形绘制,动画特效等;
- 熟悉Android系统框架(Framework相关)以及NDK开发技术;
- 熟练掌握Android网络编程、多线程编程以及进程间通信技术;
- 熟练使用Linux操作系统、Android源码及应用编译过程以及Android开发调试工具,熟悉Git代码管理工具;
- 熟悉常用开源项目,有良好的编码风格和编程习惯;
- 在app Store发布过作品的优先考虑。
- 熟悉HTML5、JS相关框架与知识。
面试问题
- 科大讯飞消费者BG
- 异步方法的同步封装
- HTTP请求get和post的区别
- Dp、Px、Sp的区别和联系
- JAVA垃圾回收机制,循环引用是否造成内存泄漏
- HTTP协议数据包校验