最后
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
校招:
对于校招而言的话,主要是对于计算机基础能力的考察,尤其bat等公司更甚,当然android方面也是需要的,主要考察的方面是:
1.熟练掌握操作系统原理
2.熟练掌握计算机网络
3.熟练掌握数据结构以及算法
4.良好的java基础
5.android基本的都要会,在此基础上需要掌握一定的源码方面的知识,比如handler源码,AsyncTask源码,触摸事件机制,view的事件分发机制,清楚他们是如何由0到1完成各自的工作的。
6.阅读过相关开源项目,对开源项目做过校正或者贡献的,Github 好多小星星的~
基本待遇
任职要求:
1.2年以上客户端开发经验,有一定的设计能力和初步架构能力;
2.精通Java,熟悉设计模式,有自己的理解和实践经验;
3.熟悉Android平台下的高性能编程及性能调优;
4.熟悉Android Framework层,了解jni、多线程、反射、jvm、类加载机制等基础原理;
5.有良好的主动性、沟通能力和团队协作能力。
社招:
再讲之前先吐槽一下某大型互联网照片处理类公司(B)的HR,说好的校招,结果把我安排到社招相关去了,无语了。
对于社招方面,个人了解的也比较少,主要是经历了B这个公司的面试,所以就面试的内容来讲讲吧,抛砖引玉好了,个人觉得社招尤其注重你在工作项目中的对于代码整体框架的整体认识以及熟练掌握程度:
1.对于源码有一定的研究,Binder机制的理解,熟练自定View,能够对开源库进行再次的封装,改写等等,AWS,WWS等等有一定的认识。
2.阅读过开源项目源码,清楚开源项目的构建历程,优缺点等。
3.设计模式的理解与运用。
4.对于上任公司项目的理解,能够清楚的讲解自己编写代码的思路。
5.独立解决Bug的能力,优化代码的能力,重构代码的能力。
6.良好的计算机基础。
最最重要的一点,我觉得是:对于技术是否有热情,有求知欲,愿意去尝试,去了解新的技术,这是我认为最重要的一点。
基本待遇
任职要求:
1.有Android相关开发工作经验
2.精通Android基本开发,能灵活运用四大组件进行开发
3.精通客户端数据库、网络、图片处理功能库以及相关开发
4.精通设计模式,有架构意识,能主动重构代码
5.熟悉四大组件工作流程、系统服务启动过程、多线程以及多进程开发,会使用AIDL进行多进程服务开发
6.熟悉gradle插件开发,能够编写gradle插件
7.了解AMS和PMS工作原理
8.有热修复、插件化框架开发经验,构建移动中台、移动端架构演进相关经验,Github项目贡献者优先
9.有H5或微信小程序开发经验者优先
尾声与建议
总结:
面试是一个不断学习、不断自我提升的过程,有机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。
有些东西有压力才有动力,而学到的知识点,都是钱(因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。
附上我的面试各大专题整理: 面试指南,满满的都是干货,希望对大家有帮助!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
s://bbs.csdn.net/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!