5年经验Android程序员面试27天,从理论到实践!

2021/7/1 17:21:56

本文主要是介绍5年经验Android程序员面试27天,从理论到实践!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#### 一丶岗位职责 **首先我们先看一下岗位职责** >1、负责安卓移动平台开发工作 >2.Android框架开发和维护,SDK开发 > >3. 技术架构升级优化,提升业务研发效率 #### 二丶岗位要求 >1、3年以上Android客户端开发经验 >2丶JAVA基础扎实,理解io、多线程、集合等基础框架,对JVM原理有一定的了解 >3、掌握Android常用组件、框架、和技术的原理 >4、精通Android底层framework,精通Android性能调优,熟悉Android源码 >5、有强烈的责任心和团队精神,善于沟通和合作;能独立完成设计和编码 #### 三丶关于简历如何突出来写 我觉得简历的作用就是让看简历的人能快速丶准确的捕捉到有用的信息,看到你的与众不同 >1.who are you ?(你是谁?) >2.what did you do?(你做了什么?) >3.what do you stand out from(你有什么特别之处?) 重要突出这几天,其实就够了 ##### 3.1 内容 **主要是包含了以下几个模块:** **基本资料:** 姓名、电话、邮箱、个人网站(GitHub) **工作经历:** 公司名、在职时间、工作内容(简述负责、参与什么业务) **项目经历:** 最重要的一点没有之一!展开描述 **专业技能:** 加分项还是减分项都有可能,慎重对待,展开描述 **教育经历:** 学校名、就读时间 **其它:** 简单描述任何你想让面试官知道的东西,比如社区影响力: GitHub 多少 Star、掘金等级 等等 **项目经历对于开发来说是一个最重要的部分** ##### 3.2亮点 **工作上:** 这个项目的业务背景是什么,在业务上有什么比较牛逼的地方,推动了业务如何运行等等 **技术实现上:** 这个项目的整体技术实现思路是怎样的,项目中用了什么比较牛逼的技术,解决了什么比较困难的问题等等 千万不要写精通什么,除非你真的很牛逼,或者某项目中有个很牛逼的技术,但是不是你写的,但是你自己不是很了解。 好看的皮囊千篇一律,有趣的灵魂万里挑一 在日常业务中: - 这个项目做了什么牛逼的事情 - 你在项目里做了什么牛逼的事情 - 用了什么牛逼的技术解决了什么困难的问题 项目经历是一个很重要的部分,一定会细问,把自己的牛逼之处突出并且讲明白 ##### 3.3自己的专业技能 想拿到30-50K 当然要有相对的专业技能 JAVA基础扎实,理解io、多线程、集合等基础框架,对JVM原理有一定的了解 掌握Android常用组件、框架、和技术的原理 精通Android底层framework,精通Android性能调优,熟悉Android源码 热衷Android开发事业,精通SDK,热修复,性能优化等等 专业技能可能是加分项也可能是减分项,慎重对待 #### 四丶面试复习路线图 我之前复习,大多都在20点以后,因为晚上比较能集中注意力,制定一个学习计划,切勿零散的复习,最好是系统的复习,才能胜却在握 **主要内容如下:** >- BAT的面试题目相关 >- 性能优化相关相关 >- 多线程相关 >- Java相关 >- 源码解析相关 >- 网络编程相关 >- 算法合集相关 >- 数据结构相关 >- 设计模式相关 >- 一些小知识的总结 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625128875993554.jpg) ##### 4.1丶BAT相关面试点: - 1.Binder通信原理和机制 - 2.多进程通信 - 3.组件化.插件化的区别以及如何选择 - 4.插件化的理解 - 5.热修复原理 - 6.对于AMS的认识 - 7.AOP 与OOP 有什么区别, AOP 的原理 - 8.QQ换肤原理以及大致思想 - 9.Android虚拟机 - 10.图片压缩的具体步骤和应用 - 11.反编译和加密如何进行 - 12.序列化和反序列化的原理 - 13.Handler的原理和认识 #### 4.2丶算法合集笔记 - 1.Hash - 2.最小生成树算法 - 3.最短路径算法 - 4.KMP算法 - 5.查找算法 - 6.排序算法 ##### 4.3丶线程.多线程.线程池和面试中的小问题 - 1.开启线程的方式 - 2.run()和 start()方法区别 - 3.如何控制某个方法允许并发访问线程的个数? - 4.在 Java 中 wait 和 seelp 方法的不同 - 5.导致线程阻塞的原因 - 6.线程如何关闭的思路? - 7.如何同步以及保证线程安全 - 8.减少APK包的大小 - 9.关于内存泄漏,内存抖动的优化以及解决方案 ##### 4.4丶小知识的清单 - 1.面向对象和面向对象的区别 - 2.Java和C++的区别 - 3.面向对象的特征 - 4.接口和抽象类的区别 ## 总结 首先是感觉自己的基础还是不够吧,大厂好像都喜欢问这些底层原理。 另外一部分原因在于资料也还没有看完,一面时凭借那份资料考前突击恶补个几天居然也能轻松应对(在这里还是要感谢那份资料,真的牛),于是自我感觉良好,资料就没有怎么深究下去了。 之前的准备只涉及了Java、Android、计网、数据结构与算法这些方面,面对面试官对其他基础课程的考察显得捉襟见肘。 下一步还是要查漏补缺,进行针对性复习。 **最后的最后,那套资料这次一定要全部看完,是真的太全面了,各个知识点都涵盖了,几乎我面试遇到的所有问题的知识点这里面都有!在这里也免费分享给大家,希望大家不要犯和我一样的错误呀!!!一定要看完!** ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625128876138667.jpg) ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625128876450474.jpg) ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210701/1625128877248619.jpg) **获取方式:**[点击我的GitHub](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)

这篇关于5年经验Android程序员面试27天,从理论到实践!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程