一、前言
从16年毕业至今,就职过两家公司,大大小小项目做了几个,非常感谢我的两位老大,在我的android成长路上给予我很多指导,亦师亦友的关系。
从年前至今参加面试了很多公司,也收到了几家巨头的offer,还有其他公司的。总结下经验,也是对过去的一个回顾和总结吧。
一、简历
网上有很多对程序员简历的一些指导,这里就不重述,大家可以搜下网上其他大神的总结,结合自身情况修改下。我有几点建议:
1.尽量不要花哨, 程序员和设计师或者产品运营还不一样,我们的简历成功与否决定权还是在技术面试官那,而他们看重的是你的项目经验内容和技术等描述。
2.技能描述这块尽量只写你懂得而且理解深刻的, 可以适当加入一些新技术或流行框架,不过这块需要理解,没来得及看源码的可以看看大神们对它的总结,网上一大堆。
3.项目经验这块尽量加入关键词, 比如使用了什么技术、用到哪些设计模式、优化数据对比、扩展总结之类的。而非一味地介绍这个项目内容(那是产品经理的描述),比如性能优化这块,分为UI性能优化、内存优化、数据库优化、网络优化、耗电优化等等。可以从
1.如何发现问题,2.怎么解决问题,3.解决效果对比,这几个方面去描述。举个简单例子——UI优化,可以从 UI出现什么问题(卡顿不流畅),怎么查找问题(手机开发者权限>GPU过度绘制 发现层级问题,TraceView CPU使用情况分析),怎么解决问题(降低层级、自定义View绘图出现问题等),解决问题后性能再次对比。
二、技能储备
Android开发基础知识总览
一、基础
0.java语言和IDE
1.APP静态结构、配置( Manifest xml)与应用资源
2.APP入口及其生命周期
3.四大组件及其生命周期
1) Activity/ Fragment:界面管理调度、与用户交互、业务逻辑实现
2) Service:长时间在后台执行任务
3) Broadcastreceiver:事件监听和消息传递
4) Contentprovider:进程间传递数据的统一接口
4.线程与异步机制(java, android)
二、显示
5.Ui(控件、事件处理)
- 窗口、视图
- 简单的基控件
- 复杂的组合控件
- 动画
- 事件及其传机制
三、存储
6.数据存储
- Sharedpreferences
- Properties (java)
- File (java )
- Sq