前言
我们程序员之所以担心35岁被裁员,是因为自己的经验和实力能力不符合,国内IT现状,大多数程序员都在外包公司工作,框架老化,代码就是为了完成任务而写,刚定好需求你做一半产品突然让你改需求……一切的一切,导致你每天都在重复基础的增删改查和简单业务处理,身边的人不如你甚至比你更烂,你找不到一个方向去提升自己,日复一日,虽然你工作好久,但是你对深一层次的代码依然一无所知,看不懂源码,写不出好的代码,该会的都会了,该不会还是不会,三年前是这样,三年后还是这样,没什么变化。
阿里技术一面-35min
自我介绍
Android
- 有没有遇到OOM问题(有遇到内存泄漏问题)
- Handler机制
- ThreadLocal
- Activity启动到加载View过程
- View绘制过程
- LinearLayout (wrap_content) & TextView (match_parent) 最终结果???
- OKHttp(1. 为什么选择它? 2. 性能了解不?3. 内部有哪些设计模式)
- 了解EventBus嘛?
设计模式
- 用过哪些设计模式
- 观察者举例
网络
- HTTP & HTTPS区别
其他
- 为什么选择飞猪
- 专业问题
- 参加的比赛
阿里技术二面-1h挂
自我介绍
项目
- 为什么选择OKHTTP框架
- 加载图片框架?(学一下Glide)
- JSON解析框架?(学一下Gson,FastJson)
- 技术选型?
- 页面个数?
- OSS上传凭证怎么设计缓存?怎么加密?(加密算法??)
- 还有哪些项目可以说的?
Android
- Activity生命周期?启动透明Activity生命周期?按Home键生命周期?
- 后台杀死APP后怎么恢复数据?
- 一个APP可以多进程嘛?
- ListView和RecyclerView区别?
- RecyclerView卡顿怎么排查?
- RecyclerView怎么实现多Type?
- RecyclerView的ItemView层级过深怎么优化?
- Android多进程?
- 怎么设计Android线程间通信?
- Handler机制?子线程可以用Handler吗?
- ANR?
Java
- private protected public 关键字的用法区别!!!
- 接口,抽象类区别?抽象类要不要实现接口的方法???
- Map的线程安全?读多写少选哪个集合?(CopyOnWrite,不懂原理没敢说)
网络
- HTTP/HTTPS区别
- TCP了解么?握手与挥手过程?
- 长连接?
- push怎么实现?
腾讯
提前批一面-35min
项目介绍
- 实现的功能,基于OKHTTP实现网络请求
HTTP(s)
- 介绍下HTTP协议
- HTTPS公钥暴露怎么办
- HTTP分段上传文件怎么保证正确
- HTTP缓存
Java
- 进程 线程区别
- 子线程间通讯
- 解决死锁的办法,怎么判断发生死锁
算法题
- 奇数偶数数组,重新排序保证顺序不变,奇数在前偶数在后
- 2数/3数之和
提前批二面-30min-挂
自我介绍
项目介绍
- 项目梳理
- 图片压缩算法? 聊聊关于Android图片压缩那点事儿
- Bitmap JPG区别 图像处理:JPG、PNG及BMP的区别?
- 断点重传?怎么动态确定范围?Android 实现断点上传文件
- 断点下载?CRC原理 文件校验MD5、SHA1、CRC32、sha256、cksum
设计模式
- MVC优点缺点
- MVP中的MVC的C实现在哪
- 单例模式的饿汉与懒汉的选择,使用场景Java单例模式的不同写法(懒汉式、饿汉式、双检锁、静态内部类、枚举)
HTTPS加密方式
腾讯正式批测开一面-25min
- Crash
- ANR怎么解决
- 设计世界杯32强对战数据结构
- 2个球 100楼找那一层摔下来会坏
- 测开具体工作
腾讯正式批测开二面-1h
项目
- 聊细节
Android
- 图片,语音大内存数据的性能排查,定位?
- Handler内存泄漏问题
- ART Dalvik区别?
- GC机制?
- CountDownLatch原理?
算法题
- 不使用for查找数组最大值?
闲聊
- 自我优势
百度
百度一面-1h
自我介绍
项目介绍
- 编码规范有用吗?
Android
- Android四大组件安全性
- Activity启动模式
- IntentFilter匹配规则,action和category区别?
- Handler 阻塞为什么不卡死?
- 点击事件分发机制,onTouchEvent返回false? dispatchTouchEvent返回false?
- Looper
- 对象池,手写对象池实现
- ContentProvider原理
- sp支持跨进程么?怎么解决跨进程,怎么实现进程同步
- 帧动画实现: 100张图,200ms显示一张,读取一张图要400ms,怎么解决避免卡顿(多线程读)
- Bitmap内存复用限制条件
- 线程时间片分配原理
百度二面-45min
项目
- 梳理项目
- 难点
- 技术框架
算法题
- 手写二分法
- 电梯状态机设计
优缺点
- 优点
- 缺点
- 专业
百度三面-45min
技术
- 最长公共子串
- 类加载机制
- okhttp原理
- 热修复原理
其余闲聊
- 优点缺点
- 大学遗憾
- 组织哪些活动
- 长期坚持的事情
- 专业去向
网易
网易技术一面-1h
自我介绍
项目介绍
- 华为解bug印象最深的
Android
- TouchEvent传递过程? onTouchEvent返回flase怎么办?
- 怎么设计缓存
- Android数据持久化
- 数据库怎么批处理(原理)
- SP支不支持多线程?SP怎么实现多线程
- View绘制过程
- Handler消息机制
结语
看到这篇文章的人不知道有多少是和我一样的Android程序员。
35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。
我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。
千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。
有了学习的想法就赶快行动起来吧,不要被其他的事情牵绊住了前行的脚步。不要等到裁员时才开始担忧,不要等到面试前一晚才开始紧张,不要等到35岁甚至更晚才开始想起来要学习要进阶。
给大家一份系统的Android学习进阶资料,希望这份资料可以给大家提供帮助。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
习要进阶。
给大家一份系统的Android学习进阶资料,希望这份资料可以给大家提供帮助。
[外链图片转存中…(img-wxD4pM1o-1714648753494)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!