渣本毕业两年经验,看这一篇就够了!
最近跟我的一些读者交流,有一位读者的经历让我记忆深刻:
“有一次和大学同学聚会,和几个在BAT的同学聊了聊技术,发现自己在创业公司这几年,完全是吃老本的状态,没有什么机会精进技术,同样是工作了三年,和同学的差距越来越大”
我继续问他,他说真正让他受打击的是这个月的一次面试。
“面的是一个大厂,面试官问了很多问题,一大半的问题我都是一知半解,回答上来问题也是特没底。
大概回顾了这场面试:上来先是问了Java基础知识,自定义view,算法等等,这部分我还算准备的充分。第二部分开始复杂了,主要是底层、NDK、设计模式、调优方面的问题,像是如何检测一段代码的执行时间?滑动不流畅怎么处理??
我之前工作上经历的少,加上自己技术储备浅薄,到这部分时我就感觉自己快凉了。面试到最后,问了mvvm架构相关的,当时已经懵了,我只记得一个问题:让你做一个项目,怎么选择mvvm架构和MVP架构?我。。。。“
面完后他说,觉得自己在技术上欠了很多债,最惨的是,在这之前他根本不知道。
听了这位读者的经历,于是有了今天这篇文章。很多工作了1-3年的Android人,想够一够 3w月薪的岗位,但在底层技术上却有很大的问题:
毕业几年,表面上用过很多技术,但都没能深入学习,一年的工作经验,干了好几年。结果就是遇到实际问题时无从下手,最终还是走着普通工程师的道路,和高手的距离越来越远。
都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。
1、Java se基础
1).Java基本数据类型与表达式,分支循环。
2).String和StringBuffer的使用、正则表达式。
3).面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类。
4).对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。
5).Java异常处理,异常的机制原理。
6).常用的设计模式:Singleton、Template、Strategy模式。
7).JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。
8).Java集合介绍:Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator等常用集合类API。
9).JavaI/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。
10).Java高级特性:反射和泛型。
11).多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。
2、android UI编程
1)、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
2)、Android初级控件的使用:
TextView控件的使用
Button控件的使用方法
EditText控件的使用方法
ImageView的使用方法
RadioButton的使用方法
Checkbox的使用方法
Menu的使用方法
3)、Android高级控件的使用:
ListView的使用方法
GridView的使用方法
Adapter的使用方法
Spinner的使用方法
Gallary的使用方法
ScrollView的使用方法
RecyclerView
4、对话框与菜单的使用:
Dialog的基本概念
BlockquoteAlertDialog的使用方法
DatePickerDialog的使用方法
Menu的使用方法
自定义Menu的实现方法
5.控件的布局方法:
线性布局的使用方法
相对布局的使用方法
6.多Acitivity管理:
AndroidManifest.xml文件的作用
Intent的使用方法
使用Intent传递数据的方法
启动Activity的方法
IntentFilter的使用方法
Activity Group的使用方法
7、自定义控件实现方法:
自定义ListView的实现方法
可折叠ListView的使用方法
自定义Adapter的实现方法
自定义View的实现方法
动态控件布局的上实现方法
上拉刷新下拉加载更多
3、android网络编程与数据存储
1).基于Android平台的HTTP通讯:
Http协议回顾
使用Get方法向服务器提交数据的方法
使用POST方法向服务器提交数据的实现方法
使用Http协议实现多线程下载
使用Http协议实现断点续传
2).Android数据存储技术:
SQLite3数据库简介
SQL语句回顾
SQLite3编程接口介绍
SQLite3事务管理
SQLite3游标使用方法
SQLite3性能分析
访问SDCard的方法
访问SharedPreferences的方法
初级工程师
技术要求:
- 基本知识点
比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术 - 书籍推荐
《第一行代码 Android》、《疯狂Android》
中级工程师
技术要求:
稍微深入的知识点
AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等书籍推荐
《Android开发艺术探索》、《Android群英传》AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的区别;
Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用;
多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等;
事件分发:弹性滑动、滑动冲突等;
玩转View:View的绘制原理、各种自定义View;
动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理;
懂性能优化、熟悉mat等工具
懂点常见的设计模式
搞懂view的滑动原理
搞懂如何实现弹性滑动
搞懂view的滑动冲突
搞懂view的measure、layout和draw
然后再学习几个已有的自定义view的例子
最后就可以搞定自定义view了,所谓万变不离其宗
高级工程师
技术要求:
稍微深入的知识点
系统核心机制
基本知识点的细节
设计模式和架构
书籍推荐
《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》继续加深理解”稍微深入的知识点“中所定义的内容
了解系统核心机制:
- 了解SystemServer的启动过程
- 了解主线程的消息循环模型
- 了解AMS和PMS的工作原理
- 能够回答问题”一个应用存在多少个Window?“
- 了解四大组件的大概工作流程
- …
- 基本知识点的细节
- Activity的启动模式以及异常情况下不同Activity的表现
- Service的onBind和onReBind的关联
- onServiceDisconnected(ComponentName className)和binderDied()的区别
- AsyncTask在不同版本上的表现细节
- 线程池的细节和参数配置
- …
- 熟悉设计模式,有架构意识学习方法
以上就是整理分享的Android开发进阶的一个学习路线。
其他重要知识点
下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。有**【Android架构视频+BATJ面试专题PDF+核心笔记等资料+源码+思维导图】**。希望能够帮助到大家提升技术。如果大家想要获取的话,可以免费获取哦~
高级进阶篇——高级UI,自定义View(部分展示)
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
- 面试题部分合集
最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
[外链图片转存中…(img-QGLk3Tn5-1621242664405)]
- 面试题部分合集
[外链图片转存中…(img-2GBQYaAa-1621242664409)]
渣本毕业两年经验,看这一篇就够了!相关推荐
- 渣本毕业两年经验,知乎上已获万赞
前言 本篇文章主要记录分享我的面试准备过程. 很多朋友问我为什么离职 关于离职原因,马云有一句经典的话"要么钱没给到位,要么心委屈了",想必大家耳熟能详了,我这里再细说一下我个人离 ...
- 安卓嵌入式开发教程!渣本毕业两年经验,满满干货指导
开头 1.一定要把基本的数据结构,经典的算法,Unix编程,程序编译链接及计算机原理等基础知识扎牢,这些会长远影响你的职业发展. 2. 推荐从C语言入门,不单是因为很多操作系统.网络协议栈开源代码由C ...
- 渣本毕业两年经验,大厂面试题汇总
开头 最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了.他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能 ...
- python详细安装教程-超详细Python与PyCharm安装教程,看这一篇就够了
原标题:超详细Python与PyCharm安装教程,看这一篇就够了 学习了三天的python, 之前测试一直用课程自带的网页版玩玩, 为了学习 然后就下载了一个python和pycharm 现在分享下 ...
- 【系统架构设计师】软考高级职称,一次通过,倾尽所有,看完这篇就够了,方法和技巧这里全都有。
目录 背景 报考条件 通过率 考试时间要求 系统架构设计师考试内容 证书的价值 备考建议 报班&自学 分享下我的自学方法 必胜法宝 分享我考试的心态 [系统架构设计师]软考高级职称,一次通过, ...
- 技术交底书怎么撰写?看这一篇就够了
文章目录 技术交底书怎么撰写?看这一篇就够了 专利技术交底书格式 1. 发明(或实用新型 以下同)的名称 2. 技术领域 3. 背景技术 4. 发明内容 5. 附图说明 6. 具体实施方式 技术交底书 ...
- 如何快速找到志同道合的人?看这一篇就够了
如何快速找到志同道合的人?看这一篇就够了 一.前言 参加工作也有挺长一段时间了,一直以来自己也很希望可以真正为自己打拼一片天地,这应该也是大部分中产白领很希望做的事,有些人成功了,有些人在路上,而有些 ...
- 什么是 DevOps?看这一篇就够了!
文章目录 一.前因 二.记忆 三.他们说-- 3.1.Atlassian 回答"什么是 DevOps?" 3.2.微软回答"什么是 DevOps?" 3.3.A ...
- api网关选型_如何轻松打造百亿流量API网关?看这一篇就够了(下)
如何轻松打造百亿流量API网关?看这一篇就够了(上) 上篇整体描述了网关的背景,涉及职能.分类.定位环节,本篇进入本文的重点,将会具体谈下百亿级流量API网关的演进过程. 准备好瓜子花生小板凳开始积累 ...
最新文章
- What’s new: Windows Phone 7 与 Windows Phone 6.5功能对比
- dockercompose up build fail (node no such file or directory packages.json )
- Android笔记-对称与非对称加密及DH密钥交换
- 10分钟教你用VS2017将代码上传到GitHub
- requests请求报字符编码异常信息
- 列车停站方案_高速铁路列车停站方案与运行图协同优化理论和方法
- socket 怎么设置心跳判断连接
- USB协议架构及驱动架构
- 机器人编程按时巡线_一种智能巡线机器人以及控制方法与流程
- 联想智能云教室安win7_用“联想智能云教室”部署系统完成后,操作卡顿?
- 【最终幻想15 国王之剑】制作介绍2:最大限度满足角色,背景和道具的要求
- Pingouin: 基于pandas和numpy的统计包
- HASH SEMI JOIN (semi join) 比 hash join 快!
- KICAD批量修改原理图(.sch)中的字段
- python实现图像差异性分析(标记并记录差异点)
- 河南移动AI面试 面经
- 什么是模块化?及其优缺点
- Oracle数据库学习笔记(九)--scott用户
- P,NP,PSPACE都是什么,一文讲清计算复杂性分类
- 金山打字通2011+免升级
热门文章
- 手机调用系统的拍照和裁剪功能,假设界面有输入框EditText,在一些手机会出现点击EditText会弹出输入法,却不能输入的情况。...
- PL/SQL Developer 使用技巧小结(转)
- 再谈VC++中ListControl排序[原创]
- mysql用户 11_MySQL-快速入门(11)用户管理
- body onload 控制窗口大小 html,如何实现在调整浏览器窗口大小时缩放的网页?
- linux下jboss分析helloword,JBoss 中运行servlet 的helloworld程序(转)
- python含多个附件的邮件_Python发送带有多个图像附件的电子邮件
- java的使用Pair要导入什么包,第三方jar包的使用
- Linux入门笔记——文件操作命令2
- 图片图层隐写_【软件】imageIN · 图影-隐藏文件到图片,简单轻快的图片隐写工具...