4.“面试官人挺好的 问的都挺全面的” ——职位:三星Android开发工程师
问了4大组件 handler机制 和触摸事件的分发机制 java的有类加载
6.“文档都是比较基础的问题”——职位: 阿里Android开发工程师
自我介绍之后,面试官就考一些java基础之类的东西,比
如垃圾回收器的理解,线程池的理解等,然后问了一些安卓方面的问题,handler机制和服务原理。面试官让我现场编写一个字符串反转代码,但是当时没准备好,有些问题都没怎么答好,本来都知道的。
从上面我们可以看到,一个Android应用开发岗位有可能不需要太强的数据结构和算法的,但是这并不意味着候选者可以完全不懂数据结构和算法,所以数据结构和算法大家还是要去了解下,并且我们可以看出在Java相关的问题也是很重要的。
在如今高校人才越来越多,但工作岗位是越来越少,市场越来越饱和的情况下,我们应该满足哪些条件才能达到面试官的要求呢。综合在网上寻找的一些资料,这里做下总结,理想的候选者应该是这样的:
- 扎实的技术功底,有技术追求(必须)
- 态度、沟通和为人都很好(必须)
- 2年左右工作经验(基本必须)
- 名校、名企、高学历(非必须,加分项)
基本来说,满足1和2就能通过面试,3和4都是次要条件,但是一般来说不满足3就很难满足1,不要说特例,木有参考意义。
由此可见,技术是面试结果的决定因素。那么到底技术掌握到什么程度才能比较轻松地通过面试呢?怎么制定一个合理的学习计划,让自己长期保持一个靠前的竞争力,对于很多未毕业和毕业不久的年轻程序员来说,是最关键。
那么Android程序员进入大型互联网企业并且想拿到高薪必须掌握的技术有哪些?
一、Java语言进阶和Android相关技术内核
学习好Java语言,Java作为Android的开发语言,对Java语言的了解是必不可少的,当然你也需要深刻的了解到Android的相关技术内核:
二、全方位性能优化
任何脱离细节的架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Android技术体系,需要了解:
三、移动架构实战+NDK模块
你需要参与过移动架构的实战才能有一定的开发经验,不然一切都是空谈,并且你需要了解一些提高效率的工具,以及NDK模块的开发:
四、Android前沿技术
现在Android开发的程序员天马行空,Android成功的关键因素在于思想的开放和自由,所以你需要了解市场上的一些前沿技术:
五、微信小程序与Hybrid混合开发
总结
其实要轻松掌握很简单,要点就两个:
- 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
- 多练。 (视频优势是互动感强,容易集中注意力)
你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。下面资料部分截图是我花费几个月时间整理的,诚意满满:特别适合有3-5年开发经验的Android程序员们学习。
5年开发经验的Android程序员们学习。**
[外链图片转存中…(img-Jff6mLEM-1647525073725)]