Android面试太难了?除了闷头刷题,程序员应该了解的面试技巧才是关键

2021-04-08 11:16:01 浏览数 (1)

面试前的准备

有专家认为,对于一个开发者来说,不只局限于安卓开发者,面试前的准备都是非常重要的,充分的准备可以提高你赢的好工作的几率。那么我们在面试前都应该准备些什么呢?

1. 提交简历的内容一定要真实

真实的简历内容,才是你面试成功的第一要素。面试官面试的第一内容就是看你的简历,并且会根据简历内容来进行提问。如果你的内容不真实,回答的内容与简历不一致,会给面试官留下非常糟糕的印象。例如,在写技能这一项时,写着VB,VC,C ,JAVE, SQL, TCP/IP等,比如当面试官让你讲C 的多态机制时,你都讲不清楚,那么这次面试你一定会以失败告终。所以,安卓职场专家建议,简历内容一定要实事求是

2. 了解你所应聘的公司

面试者首先就应该了解一下面试公司的具体情况,比如面试官问到:你为什么选择我们的公司,你连公司具体做什么的,招聘什么技能的人都不清楚,那么,面试官会认为你只是来试试而已,不是诚心来公司来面试的,所以要想进某家公司,一定要在面试前了解这家公司,面试之前最好上网看看你要应聘的公司的基本情况,如公司的产品、市场、客户等情况。除非技术能力很强,公司很需要,否则你对公司一无所知,公司基本是不考虑你的。

3. 简历中提到的项目自己一定要清楚

在面试时面试官会用至少20分钟时间让面试者来讲自己最近做的或自己最熟悉的项目或产品,其中包括项目的功能、架构、所用的技术等,会要求面试者能画出项目的结构图,模块间的逻辑等。当然也会问到简历中提到的每一个项目情况。所以,面试者在面试前最好回顾一下自己做过的项目。并且要清楚自己项目的每个环节。如果这个项目的某一环节你回答不上来,面试官会认为你是抄袭的,所以一定要做好这方面的准备。

4. 要有系统的知识框架

做为软件开发或测试人员,对软件工程又要一个比较系统的知识框架。了解软件开发流程,成品生命周期等知识。至少要知道什么是瀑布模型、V模型、敏捷开发;至少要知道有哪些测试类型,分别对应哪个开发阶段等知识。

具有系统的知识,会让你提升一个高度。大家最敏感的问题,就是薪资问题了,如果你熟知系统的知识框架,那么你的薪资一定会高一些,具体高多少,这就取决于你对知识框架的了解程度了。

除了上面的这些之外,也要放松心情,不要过度紧张以免影响发挥,做一个自信的面试者。

Android笔试面试指南

基础知识篇

虚拟机相关知识基础

  • 虚拟机的内存管理
  • 虚拟机的垃圾回收
  • 虚拟机的种类:Java虚拟机、Android两种虚拟机的对比
  • class与dex文件
  • Class加载

Java基础

尤其需要深入理解容器、I/O、线程、反射、泛型等。尤其是容器的源码实现。

Kotlin基础

这里推荐:Bennyhuo的视频《Kotlin系统入门与进阶》

数据结构与算法

  • 基本的数据结构
  • 基本的排序算法
  • 算法的时空复杂度

操作系统基础和计算机网络

  • 操作系统方面的知识:推荐《操作系统面试重难点总结》
  • 计算机网络方面,注意TCP/UDP,三次握手;HTTP/HTTPS 等知识

设计原则与设计模式、架构

推荐:《Android源码与设计模式》,谁看谁知道,好书不解释,一本就够了。

版本控制与持续集成、自动化构建、Gradle

  • 版本控制推荐学习Git和GitHub,可以去看廖雪峰大神的文章。
  • 持续集成、自动化构建平台搭建:有兴趣的朋友去研究jenkins
  • Gradle:推荐徐宜生大神的《Android神兵利器》
Android面试常问知识篇

Android基础就不再赘述了,相信大家都比较熟悉,找一个系列的博客或者买本书籍补习即可,也推荐去看黑马的Android视频。重点关注四大组件的生命周期、Activity启动模式等等。

下面主要介绍一下Android基础知识以外的。

Android系统架构与源码分析

作为Android APP开发人员,源码不必深入掌握代码每个细节。但是有些东西,掌握了就会加深对Android的理解,这就是源码的魅力所在,它深深地吸引着笔者。这也是区分各位应聘者的门槛。

  • 热修复与插件化框架源码
  • Android路由、组件化源码
  • 异步框架
  • 新的动画框架
  • 网络请求框架源码(Retrofit的话推荐去有心课堂看视频)
  • 图片加载框架源码(Glide、Fresco等)
  • 数据库框架源码

新技术

学习一些插件化、热修复框架,Android路由、组件化、异步框架、新的动画框架等等。

  • 插件化:滴滴(任玉刚)的插件化框架VirtualAPK、奇虎360的插件化框架RePlugin等
  • 热修复:阿里巴巴第三代非侵入式移动热修复解决方案(注意不是AndFix哦)等
  • 路由:ARouter等
  • 组件化:Atlas等
  • 异步:RxJava、RxAndroid等一系列框架等(推荐有心课堂)
  • 新的动画框架:Lottie等

性能优化

性能优化也是Android面试中常问的点,这里推荐一些相关资料:

  • 腾讯音乐大神的书籍:《Android应用性能优化最佳实践》
  • Android性能优化官方文档
  • 《Android开发艺术探索》中的关于性能优化额的章节

自定义View与动画

这是Android中比较难的一部分知识,需要平时就不断积累、锻炼,相关的文章比较多,就不推荐了。

NDK开发(含JNI)

NDK开发也是用人单位区分应聘者的手段之一,企业不一定要用到,但是可以通过是否掌握NDK来筛选人才。相对来说,大公司比较喜欢使用NDK技术。

项目实战

  • 推荐上菜鸟窝官网随便买一个项目视频学习
  • 推荐去找个小公司实习或者接个外包
  • 上网(例如GitHub)找一些成熟的、完整的项目学习,模仿
技术面

Android基础就不再赘述了,相信大家都比较熟悉,找一个系列的博客或者买本书籍补习即

首先,给出几个注意点:

  • 面试中一定程度的装逼是需要的
  • 适当的交谈能力是必须的,这个需要平时多练习
  • 被问到不懂的时候,不必强行装逼,可以虚心请教,或者适当转移话题
  • 态度一定要积极向上,对这个公司充满期待与好奇
HR面

过了HR面,你几乎可以拿到Offer了。

HR面中的注意点:

  • HR主要想知道的你的工作态度、对行业的热爱程度
  • 各种职场能力:沟通、决策能力等
  • 穿着得体即可,不能太随便,又不能太正式。
  • 一定要懂得HR的面试套路,对常见问题要有所准备,尤其针对女HR。

面试前的知识储备 & 复习

很多人准备面试的时候,大多数就会这样的,打开百度,输入 “Android 面试题”,找几个多的开始看。

这虽然看起来很自然,但是并不是一种 健康的方式,面试题的作用应当是查缺补漏,上学的时候也不是直接发习题册然后对着答案学习吧?

知乎上有个问题,叫做 如何高效学习,里面有一个回答我觉得很符合我自己的观点,就是 建立起自己的知识体系

如果你不知道该怎么如何系统学习,可以参考下我下面分享的学习路线:

接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用

帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。

从架构基础开始,分了8个模块来逐步从基础进阶到架构师的环节:

1、架构师筑基语言基础 重点内容:深入Java泛型 注解深入浅出 并发编程 数据传输与序列化 Java虚拟机原理 反射与类加载 动态代理 高效IO

2、设计思想解读开源框架 重点内容:热修复设计 插件化框架解读 组件化框架设计 图片加载框架 网络访问框架设计 RXJava响应式编程框架设计 IOC架构设计 Android架构组件Jetpack

3、360°全方位性能调优 重点内容:设计思想与代码质量优化 程序性能优化 开发效率优化

4、Android框架体系架构 重点内容:高级UI晋升 Framework内核解析 Android组件内核 数据持久化

5、NDK模块开发(音视频开发系列) 重点内容:NDK基础知识体系 底层图片处理 音视频开发

6、Flutter学习进阶 重点内容:Html5项目实战 Flutter进阶

7、微信小程序开发 重点内容:小程序介绍 UI开发 API操作 微信对接

最后分享一份面试宝典,祝每个人面试顺利。

Android BAT高级开发面试题及答案解析

面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。

最后以上内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容

结语:
  • 首先,技术面试是一个 认识自己 的过程,知道自己和外面世界的差距。
  • 更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。

0 人点赞