1. 方便 HR 查看技能匹配度
任何面试岗位都有要求,部分 HR 也会关注简历与发布岗位的匹配度的。
这里也有个小技巧:你可以灵活的匹配这个岗位的要求(但不要把不会的写上去)。
2. 面试问题的主要来源
面试官,主要通过交流、提问,来确定你的技术深度、广度,以及对该岗位的匹配程度。
那么,提问问题哪来呢?
当然是从你的简历内容中来。
所以你简历中要明确表现出专业技能的掌握情况:
例如这样:
专业技能
- 熟悉Android热修复、插件化、dex,arsc等相关技术
- 熟悉Android 常规的事件分发、自定义控件、动效等相关
- 熟悉面向对象,在意封装、继承,和接口设计
- 熟悉Android性能优化常规手段,有一定的实战经历
- 熟悉Android 四大组件相关framework代码
- 熟悉编写gradle plugin,有一定的实战经历
- 熟悉Https在Android上的适配、以及应用防破解相关知识
- 了解NDK开发,有过一点JNI开发经验
如果你项目比较出彩,也可以将专业技能拆分到项目介绍中去。
这样你可能会遇到一个很 nice 的面试过程:
A:看你做过XXX,说说怎么实践的。
B:我在项目中这么实践的,而且遇到过以下几个问题,是这么解决的。
A:我也遇到过,我是这样解决的,不过感觉你的方案好像也不错。
AB: 开心的深入交流下去。
…
但是,如果你没有写专业技能。
那么遇到好点的面试官,可能会跟你交流项目,从你的陈述中去确定你用到哪些技术才能进行发问。
当然,很多时候面试还挺紧张,一问一答,项目介绍也很简单就过去了。
面试官就很郁闷了,问啥呢?
那只能问他比较熟悉的东西了,可能面试官主要是做插件化相关的,而你主要是做组件化相关的,这种情况就可以能造成你俩不在一个频道了,非常吃亏。
很可能面试流程就变成了:
A:你有没有做过 XXX。
B:没做过。
A:那你有没有做过 XXX。
B:没做过。
A:(内心)这B到底做了哪些事…
B:(内心)问的什么屌问题…
…
当然,千万不要写自己没有深入了解过的技能,凡是你列出来的,会默认你对此有掌握有一定的深度,而不是被提问时,回答:
对于第三库原理回答要有针对性
- 这个我就用了一下…
- 这是我同事接进来的…
- 源码我还没来得及看…
对于回答问题,在回答出问题的同时,尽可能关联到自己所经历的具体的项目场景。
下面我说一个真实的体验,关于第三方库原理,基本上面试都会被问到。
比如问你图片加载框架 freso 的原理:
有的同学回答是这样的:
“首先根据 url,看看有没有缓存,有缓存从缓存中取,没有 build 一个 request,放到线程池执行。”
乍一听好像也没错,但是,任何一个完备的图片加载框架不都有这个流程么。
所以,问你一个开源库,除了回答基本原理流程,你心里要明确知道这个库的核心架构与特点,设计的比较好的地方,可以扩展的地方。
如果项目中还针对做过优化、监控等就更好了。
比如刚才问到的 fresco:
- 你可以说说他的整体设计架构;
- 你可以说说他的图片内存管理机制,在不同的版本手机上,然后深入下去;
- 你可以说说他的Producer/Consumer 机制,以及如何利用这个机制去做扩展,项目中的定制;
- 你可以说说根据自己业务情况做了哪些优化;
- 甚至说一些它的缺点;
…
所以,对于第三库的原理,希望你能掌握:
1.基本原理流程;
2.整体的架构设计;
3.做的比较好的地方,以及这些地方设计与原理;
4.结合项目的定制、优化、扩展;
其实这个建议,也能反推出另一个问题:
如何学习开源项目源码?
很多同学学习一个开源库源码,花费了非常大的力气去梳理代码执行流程,然后终于衔接起来,长舒一口气就结束了,那么就有点可惜了。
根据上面建议的回答可以看出来,梳理清楚执行流程只是第一件事。
你要去深入发现:
1.核心的架构设计是什么样子的?
2.和其他类似开源库相比有什么优势?
3.这些优势是如何做到的?
4.哪些部分可以定制,方便我们日后进行扩展?
最后,虽然有很多优秀的简历模板,各种面试技巧,但是千万不要舍本求末,始终要牢记个人履历才是关键,希望大家随着工作年限的增长,履历也越来越丰富。
希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。
好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以加一下下面的技术群。来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。
面试宝典面试必问知识点、BATJ历年历年面试真题+解析
学习经验总结(一)调整好心态
心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。这样的调整,一方面对自己学习有帮助,另一方面让自己应对面试更从容,更顺利。
(二)时间挤一挤,制定好计划
一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。另外,制定好学习计划也是很有必要的,有逻辑有条理的复习,先查漏补缺,然后再系统复习,这样才能够做到事半功倍,效果才会立竿见影。
(三)不断学习技术知识,更新自己的知识储备
对于一名程序员来说,技术知识方面是非常重要的,可以说是重中之重。**要面试大厂,自己的知识储备一定要非常丰富,若缺胳膊少腿,别说在实际工作当中,光是面试这一关就过不了。**对于技术方面,首先基础知识一定要扎实,包括自己方向的语言基础、计算机基础、算法以及编程等等。
**本文已被[CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](
)
收录**
最后自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此也是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)