笔者出生在江西一个偏远的山村。虽然出生时已经不是那个温饱都是问题的年代,但是也谈不上有个幸福的童年。家里很穷。幼儿园并没有读,因为家里觉得花那个钱没有必要,小学才开始学拼音字母。我的童年,就是和我的姐姐弟弟在山中的梯田里放牛,抓泥鳅,割鱼草。
大学上的是北大青鸟,一个成人培训机构,没有学历。在深圳打拼了6年了,一直在一些小公司打转。年初疫情突然爆发,市场经济进入寒冬,我也被公司裁员了。
这也让我意识到,本身学历就不高,如果还不发奋让自己的技术更上一个层次的话,肯定是没有未来可言的。幸而有朋友在阿里任职,给了我一个内推的机会。所以,疫情在家的这段时间,我决定逼自己一把,开始着手准备阿里的面试。终于在五一节前拿到了P5的offer。下面是我的面试经验分享。
推荐两个刷题网站:
牛客网、LeetCode
推荐几本Android进阶的书籍:
《Android开发进阶 从小工到专家 》何红辉 著
《Android开发艺术探索》 任玉刚 著
《疯狂Android讲义 》李刚 著
1.Java类类加载原理
2.界面卡顿的原因以及解决方法
3.自定义Handler时如何避免内存泄漏,内存泄漏如何排查,MAT分析方法以及原理,各种泄漏的原因是什么
4.app的架构是怎么样的,并且为什么这样,有什么优缺点?
5.TCP 有哪些状态。三次握手、四次挥手。为啥是三次不是两次?HTTPS 和 HTTP 的区别。HTTPS 2.0,3.0?
6.开源框架的使用和原理。 OkHttp内部实现、glide的内部原理、EventBus源码和RxJava的使用过程注意事项等
7.Activity的生命周期有哪些,知道onRestart么,介绍下
8.乐观锁和悲观锁,死锁 ,synchronized 原理
9.JVM 类加载机制、垃圾回收算法对比、Java 虚拟机结构等。
10.有什么工具可以看到Activity栈信息么?多个栈话,有方法分别得到各个栈的Activity列表么11.插件化/热修复
1.介绍下最近一年主要做了什么工作
2.遇到了什么印象深刻的问题。会顺着你介绍的项目问下具体实现。
3.以前的工作中,项目团队多少人,怎么分配工作
总之就是一些职业规划,或者可以体现你工作态度,为人处事方面的一些问题。
一般的面试官都会问这个问题,这里搜罗了一些问题供大家参考:
1.你在公司的一天是如何度过的?
2.能否给我简单介绍下贵公司业务与战略的未来发展?
3.贵公司最让你自豪的企业文化是什么?
4.对于未来加入这个团队,你对我的期望是什么?
5.通过刚才的面试交流,您觉得我还有那些不足?
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
一个公司的发展与否直接关系到你付出的回报,而一个团队的氛围决定你的工作是在成长还是在“扯皮”。其次身体健康和家庭也很重要,在衡量一份工作的时候,我也会把这些因素考虑在内,因为我一直认为,努力工作就是为了幸福的生活。
最后,祝愿各位都能找到自己心仪的工作。长风破浪会有时,值直挂云帆济沧海。