Android高级开发岗必问知识点,大牛最佳总结
Posted Java德克士
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android高级开发岗必问知识点,大牛最佳总结相关的知识,希望对你有一定的参考价值。
开头
大家都知道,找工作的时候高薪不好拿,一般人能拿 30k 的 offer 就不错了。据我所知百分之九十的android开发都在30k以下!
但是在我的群里有一位同学,平时就喜欢研究源码和框架,然后经过一个月的刷题,跳槽到头条,拿到了 50k 的月薪,我觉得太厉害了,羡慕嫉妒恨啊。
后来我和他聊了下,发现他技术确实好,在刷题期间,除了算法,他还把自己的 Android 笔记拿了出来,里面都是他平时的积累,内容全面,深度也有,有插件化、依赖注入,还有各种架构知识。
果然,只要技术好,走到哪里都不怕啊。大家在学习的时候,除了看书看博客之外,最好能够找一套系统化的,而且有足够深度的学习视频学习,搭建自己的知识框架。
一.想要分享的内容
开篇我也表达了我对“面经”的看法,所以我就不罗列具体的题目了,而且每次面试的题目都大同小异,其他专栏已经列举的足够多了,再列举也没有太多的意义,这里我想着重分享以下五点:面试前的准备,学习方法,面试风格,面试后的感受,以及职业规划。
二.面试前你应该做的准备
面试前一定要系统的复习各个模块的知识点,不要匆忙的出去面试,尤其是对于大公司来说,面试机会本来就不易,不要因为自己没有复习准备好,而白白的丧失了机会,尤其是对于突然被裁,事前没有充分准备的同学来说,更应该注意这一点,我深知被裁的滋味,但是被裁后也要理性的对待这件事,不要因为自己的慌张,无助而匆匆投简历去面试
对于Android应用开发而言,需要复习的并不是很多,无非是都熟知的那几大类:Java 基础,JVM,Java 并发,Android 源码,Android 第三方框架,Android 性能优化,数据结构与算法,再加上一些网络知识等等,这里我就不在重复赘述了。
另外我在补充两个点,我们在复习具体的题目或知识点时,还可以着重去百度查找具体公司的面试题目,因为很多面试官都会习惯性的问同一问题或同类问题,这样更有针对性。再者就是自己简历上所描述的内容一定要会,包括具体的知识点,也包括你的项目经验,都同等重要。
当自己感觉复习的差不多了,先不要投递和预约大公司或者自己向往的公司,先去几家小公司,或者自己肯定不会去的公司面试,这样即使没有通过面试也不算是浪费了机会,还能顺便帮助自己更好的查漏补缺,如果通过了还可以更加自己后面面试的信心。虽然这样的行为“欺骗”了一些公司的hr同学,但面对自己求职的利益来说,只能抱歉了。
三.学习方法:
学生时代的我们,常常听到的一个词就是“学习方法”,它看不见摸不着,却常常体现在我们的考试成绩上。等到毕业,真正工作的时候,这个词似乎离我们越来越远,不变的是我们依然只是在不停的做计划,这一年要读几本书,这一月要学会哪些知识点,甚至以天来量化,但很少去思考为什么去学习这些,更重要的是如何去学习。
面试复习和我们平时学习也一样,在学习态度端正的前提下,那么如何学习就会变的尤其重要,虽然在学生时代老生常谈,但是自从工作后,很多人忘了它,都在急功近利的搪塞知识,以为读了几遍《Android 开发艺术探索》就可以成功跻身高级工程师了,真正理解的依然在少数,和读了几遍没有必然关系。我才疏学浅,不过还是想表达和分享下我的学习观。希望可以给不知道怎么学习的伙伴一点点启发
系统
“系统”很好理解,也就是我们在复习知识点时一定要全面,只有全面了,我们的基础才可以打的牢,这个基础很重要,基础有了才可以更好的进行思考和总结。
比如我们经常会使用以及研究一些 Android 第三方的框架,如 OKHttp ,我们要从三个方面去全面理解它:
1,利用 okhttp 实现基本的网络访问功能,包括基本的数据请求,表单提交,文件上传,文件断点下载,https的设置等等。
2,深入研究 okhttp 源码,熟悉 okhttp 中的调用过程,拦截器原理,缓存原理以及其中涉及的设计模式,并可以自定义拦截器实现特殊的功能,如日志打印等等。
3,在研究 okhttp 缓存原理之前,得首先熟悉 http 缓存的相关字段以及在设置 https 时,也要全面复习 https 的相关原理。
通过以上思路的复习,慢慢地你的知识体系就会建成,基础也就日渐牢固。
思考
我认为思考和下面的总结都是比较困难的,因为这和每个人的基础和视野有很大的关系,基础差、视野小的工程师一定和基础牢固、见识广范的人所思考的深度和方向不一样,就拿我这种中级工程师来说,我面对 okhttp 所能想到的方向有:它与 retrofit 是什么关系;okhttp 与其他网络框架的比较;因为涉及到网络相关,还可能再延伸到网络优化方向等等。但是不管你所思考的方向是什么,只有有所思考就是进步,而不是单纯的停留在 okhttp 框架的本身。
总结
这里的总结是在上一步思考的基础之上进行的,并不单单是把自己所学习过的知识点全部罗列出来就可以了。因为每个知识点在学习的过程中看似是独立的,实际上知识点之间大都是有关联的,我们要学会去思考并总结各个有关联的知识点,然后尽自己所能深挖出更多的知识点,使之串联,后面我会利用实际的面试题再来更加清楚的解释这一点。
四.面试风格:
这部分我想分享一下面试官都是如何去问问题的。所以就暂且起名总结为面试风格的问题。
我想大家应该也都知道,这里我大致分为五种:
全部按照简历上所列举的知识点问。在我这次面试经历中360的一面和二面的面试官都是这样问的,因此我们一定要熟知我们简历上所写的内容,包括新技术例如koltin,flutter,只要简历上有写,就必须得会
从简历中挑选问题问,并不全问,当然面试官也会根据自己的习惯提问简历上没有写的内容。这种情况是最多的。
在你介绍项目经验的时候,从中选择感兴趣的问题或相关知识点去提问。
只关注你的项目本身,包括项目介绍,项目难点等等。在这次网易一面中就是这样的,只询问了我简历上所列举的项目重难点,以及解决方案。
不提问任何具体知识点和项目经验,让你回答一些开放性的问题,比如你是通过什么途径学习的;你对跨平台的技术如何看待等等。这种面试方式一般出现在技术面的最后一面。
最后我想要着重强调一下,项目经验很重要,尤其是对于社招生来说,所以就要求我们在平时做项目的时候一定要逐渐的去积累项目的重难点是什么,以及如何解决的。当然有可能在实际工作中我们负责的那一个模块确实没有很大的难点值得去说,这也是有可能的,这就需要我们去全面的了解自己的项目,看看其他同事负责的模块有没有值得去学习和总结的,这不仅有利于我们技术上的提高,也有利于增加我们的项目经验。
关于面试的充分准备
一些基础知识和理论肯定是要背的,要理解的背,用自己的语言总结一下背下来。
虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,我能明显感觉到国庆后多了很多高级职位,所以努力让自己成为高级工程师才是最重要的。
好了,希望对大家有所帮助。
接下来是整理的一些Android学习资料,有兴趣的朋友们可以关注下我免费领取方式。
①Android开发核心知识点笔记
②对标“阿里 P7” 40W+年薪企业资深架构师成长学习路线图
③面试精品集锦汇总
④全套体系化高级架构视频
**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
获取方式:【Android架构视频+BAT面试专题PDF+学习笔记】
9)]
获取方式:【Android架构视频+BAT面试专题PDF+学习笔记】
以上是关于Android高级开发岗必问知识点,大牛最佳总结的主要内容,如果未能解决你的问题,请参考以下文章