由于私交还行,一次一起聚餐的机会,他给我讲了他的面试经历,他把在菊厂所了解的性能优化方式跟面试官交流了下,从自己所掌握的技术广度方面成功打动了面试官。
面试官觉得他的教育背景和工作经历虽然不怎么样,但是由于当时确实太缺性能优化的人才,才勉强给他面试机会。随着面试流程的不断进行,面试官发现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、项目实战
启动速度
流畅度
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践
Android框架体系架构
Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。
Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
知识要点:
1、高级UI晋升
2、Android内核组件
最后
我一直以来都有整理练习大厂面试题的习惯,有随时跳出舒服圈的准备,也许求职者已经很满意现在的工作,薪酬,觉得习惯而且安逸。
不过如果公司突然倒闭,或者部门被裁减,还能找到这样或者更好的工作吗?
我建议各位,多刷刷面试题,知道最新的技术,每三个月可以去面试一两家公司,因为你已经有不错的工作了,所以可以带着轻松的心态去面试,同时也可以增加面试的经验。
我可以将最近整理的一线互联网公司面试真题+解析分享给大家,大概花了三个月的时间整理2246页,帮助大家学习进步。
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!以下是部分内容截图:
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
作吗?
我建议各位,多刷刷面试题,知道最新的技术,每三个月可以去面试一两家公司,因为你已经有不错的工作了,所以可以带着轻松的心态去面试,同时也可以增加面试的经验。
我可以将最近整理的一线互联网公司面试真题+解析分享给大家,大概花了三个月的时间整理2246页,帮助大家学习进步。
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!以下是部分内容截图:
[外链图片转存中…(img-6P2qVAlS-1715367039962)]
[外链图片转存中…(img-JTjD4n1E-1715367039962)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!