外包公司的艰苦岁月
小强毕业于东北一个三本学校,出生于一个西南地区贫困的小村庄。由于负担不起高昂的学费差点不能上学,最后只得到处找身边亲戚借钱。毕业后辗转了几家公司后,认识他时已经在菊厂的一家外包公司工作。
工作前两年,小强一直在一个小公司从事外包工作,每天CV打法没有一点学习上进的氛围。
想混日子还是很容易的。但是小强不甘心这么走下去,而是给自己设定了明确的人生目标。
前年他的主管给他打的绩效是A,但是他年终奖其实到手只有几千。而且那段时间经常深夜了自己还在搭建环境。
想想自己辛苦一年的年终奖连甲方员工的十分之一都不到,内心给自己定下了目标一定要离开外包公司。而且他为了这个目标,还学会了在项目中运用各种沟通技巧,很懂得如何同各个子系统的技术大牛进行交流,很快弄清楚了各个子系统的原理。
他能够在沟通中引导别人去交流,而不是尴尬地直接问问题,也会恰当地恭维对方。
成功逆袭阿里
两年后的某一天,和我说,说他要走了,由于蚂蚁金服在大力拓展业务,急需招聘有Android性能优化经验的人才。他去试了下居然通过了。
我当时听了这个消息非常诧异,因为阿里的社招一直比较严格,他的教育背景以及经验并没有什么优势。
由于私交还行,一次一起聚餐的机会,他给我讲了他的面试经历,他把在菊厂所了解的性能优化方式跟面试官交流了下,从自己所掌握的技术广度方面成功打动了面试官。
面试官觉得他的教育背景和工作经历虽然不怎么样,但是由于当时确实太缺性能优化的人才,才勉强给他面试机会。随着面试流程的不断进行,面试官发现A非常追求技术能力提升,而且他以前确实也一直在本职工作之外坚持着。
经过5轮面试他成功拿到了offer,终面的时候他非常拿手,这得益于他平时喜欢和人沟通,喜欢以一种轻松幽默地方式跟别人交流。
进阿里不易,活下来更难。强烈的求生欲让他不愿意放弃来之不易的阿里机会,不愿再像以前一样,付出10倍的努力,却只能拿到1份回报。 于是他在阿里开启了疯狂地学习之路,经常为了项目交付搞到凌晨2点。项目中遇到不会的技术点马上向身边的同事求助,再不断地自我快速消化。
阿里的面试很难,但是要好好准备
阿里社招一般有四到五轮,我这次的流程是第一轮技术面、第二轮写代码、第三轮boss面、第四轮boss面、第五轮HR面。
一面技术面
-
介绍自己
-
介绍简历上的项目
-
推送sdk底层实现
-
socket相关实现
-
高性能列表实现,重点围绕 recyclerview 展开,如何复用,如何缓存
-
性能难点如何攻克
-
性能优化方面项目中做了哪些工作
-
热修复原理,类冷启动修复原理,类热修复原理,classLoader双亲机制
-
换肤原理
-
设计一个图片框架,我考虑的是如何加载,如何编解码,如何缓存,api的易用性,大部分参考 glide 思路
-
在很多数中找出前n个最小
-
mvc mvp mvvm区别与项目使用情况
-
网络层相关设计,volley底层实现,缓存相关
-
自定义view相关
-
下载模块涉及,成功率相关
-
弹幕与播放器相关
-
跨进程通讯手段与注意点,webview相关
-
EventBus相关
-
性能优化经验及手段
-
自己的方向是什么? 想做业务,还是想做专点的技术,如何理解项目架构。
-
反提问:“自己技术性回答得怎样,有哪些改进。”
-
为什么想要换工作
-
兴趣爱好,工作室情况,如何协调工作室与辩论队
-
平时学习习惯和安排
阿里二面
-
网络请求涉及,如何设计缓存
-
性能优化手段,场景
-
dp的设计
-
熟悉的底层源码,广播底层实现,这一点自己确实还了解不够,不过自己讲了哦从wsm->activity->view的事件传递过程
-
聊之前阿里的实习
-
为什么想要换工作
-
职业规划
-
短视频行业,Bolo相关及一些竞品,因为平时也会留意自己开发的软件及竞拍,行业情况,所以有一些自己的见解
-
聊兴趣爱好
-
聊王者荣耀产品相关
三面boss面
-
介绍自己情况,学android,工作经验
-
擅长哪一方面,这个问题非常致命,一定要选你足够理解的,我那时候讲的是性能优化,但是感觉讲的不好
-
android 虚拟机区别,编译区别,dex区别
-
热修复流程,原理是什么,业界有哪些方案,对比如何
-
打包流程是怎样的
-
应用启动相关流程,从孵化进程到MainActivity#onResume绘制整个流程
-
新版本android特性
-
手势滑动事件分发
-
view绘制流程
-
gradle执行流程
-
apk安装底层细节
-
岗位要求
-
工作负责内容
-
换工作原因
-
优缺点
-
家庭情况
-
个人现状
四面交叉面
-
介绍自己
-
项目经验,团队情况
-
对网络是否熟悉,一次http请求,https整体实现
-
以后想做什么,如何规划自己技术
-
开源贡献,博客记录相关的开放性问题
-
反问:后面是否还有技术面试,得到的答案是基本不会有了,等 HR 面试就好
五面HR面
-
为什么选择换工作
-
现在事业部状况
-
负责的项目工作
-
最困难的事是什么,想到的是项目难点和当时在工作室做项目,那段时间确实比较艰难,算印象最深刻的
-
职业规划
-
坚持最久的事
-
最有成就感
-
薪水相关
-
项目经验,团队情况
-
未来技术规划,是否考虑杭州,未来家庭规划
-
反问:大概多久会有答复
通过系统学习提高核心竞争力
在互联网行业,大家逐渐都会有这种共识,要想工资涨得快,还是得跳槽……
公司的老员工想要涨工资真的很难,而被新人倒挂薪资更是常事……
那么怎么才能跳得好,薪资满意呢?我的几点建议:
-
多看看机会
-
跳槽不是瞎跳的,尤其是不建议看在高薪的诱惑上跨行业跨方向的跳槽
-
提升自身核心竞争力
那说到核心竞争力,怎么才能提高呢?
成年人想要改变生活、逆转状态时,会不约而同做一件事,那就是再次学习。
接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用。
**帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。**无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。
从架构基础开始,分了8个模块来逐步从基础进阶到架构师的环节:
多余的话就不讲了,接下来将分享面试的一个复习路线,如果你也在准备面试但是不知道怎么高效复习,可以参考一下我的复习路线,有任何问题也欢迎一起互相交流,加油吧!
架构师筑基语言基础
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
设计思想解读开源框架
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。
所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
360°全方位性能调优
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
知识要点:
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化
3、开发效率优化
分布式版本控制系统Git
自动化构建系统Gradle
4、项目实战
启动速度
流畅度
资源分享
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
2020年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2021年万事大吉。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
(img-gg5n15zF-1715367074903)]
[外链图片转存中…(img-0f5eo2bz-1715367074904)]
[外链图片转存中…(img-edsQs6Ye-1715367074905)]
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
2020年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2021年万事大吉。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!