前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >金三银四如何短期拔高?这份排坑的Android面筋必须收藏!「附高质学习资料」

金三银四如何短期拔高?这份排坑的Android面筋必须收藏!「附高质学习资料」

原创
作者头像
Android技术干货分享
修改2021-02-06 18:39:43
4770
修改2021-02-06 18:39:43
举报
文章被收录于专栏:Android技术分享Android技术分享

马上过年了,过完年回来就是春招和金三银四的面试季了,今天分享一下面试前的准备技巧和一些Android面试要点,这篇文章适用于所有需要就业的小伙伴,不管你是名校毕业,还是双非出身,我相信这篇文章能给你带来一点点的小的收获!

主要讲的几个部分:

  • 引人注目的简历
  • 常见的面试小技巧
  • Android 面试要点
  • 高质的学习资料

引人注目的简历

准备简历有两点是绝对要记住的:

  • 不要等到真正开始找工作前几天才开始准备你的简历,越早准备越有优势!
  • 简历一定要用 PDF 格式,一定要用 PDF 格式,一定要用 PDF 格式!

简历真的很重要很重要,招聘系统或者是邮箱里一天可能会收到几十万份甚至更多的简历,HR可能打开10秒都不够就决定这份简历是不通过还是进入下一阶段了。

我的简历经过了五个版本的修改,从一开始的简历挂,到现在,基本上都变成笔试挂了(有毒?)

不同版本的简历
不同版本的简历

简历的目的:让企业的人从整体上了解你是一个具备什么能力的人

简历可能涉及到的分点都尽可能全地给你列出来了,你只需要选择其中适合你的即可:

  • 个人信息:你的姓名、联系方式、求职岗位(切忌不要写无关的内容例如身高体重之类的)
  • 掌握技能这一块是最重要的,面试官会根据你写的内容考察你掌握的知识
  • 校内经历:在校期间你主要的突出表现
  • 项目经历:如果有团队项目最好,也可以从 GitHub 上找一个项目练手,再没有,可以把学校的课程项目写上去呀!
  • 竞赛经历:数学建模、ACM、蓝桥杯这些高质量比赛一定要写
  • 实习经历:这点不是必须的,如果有,最好描述清楚实习的工作内容、表现和收获
  • 获奖证书:CET-4,CET-6,奖学金,软著,论文······
  • 自我评价:不要局限于写上烂大街的协作能力强,工作认真······可以要加上具体内容去支撑你的每个自我评价

如果你不知道该怎么写简历,我可以推荐两个链接给你,我基本上是按照他们的建议来写简历的:

一个程序员的简历模版分享

常见的面试小技巧

面试有很多小技巧的,特别是和 HR 对线的时候(HR看到不要找我呀,害怕.jpg)

我们先来看看和技术面试官对线的时候,有哪些可以用的小技巧:

  • 不懂不要说不懂:面试官在知识深度上超出我们的掌握范围,如果问到不懂可以参考下面的做法:
    • 可以结合自己的理解去回答,无论正确与否,虚心请教
    • 若是有标准答案的问题但不懂,可以说:“目前还没有接触到这部分知识,面试完以后会去学习,加强理解!”
  • 引导面试官:面试官抛出一个问题时,围绕该点展开回答,可以串联一些其它知识,但不要说太多,引导面试官:
    • 提到 ArrayList 时,提一下 LinkedList,引出 LinkedList
    • 提到 HTTP 时,提一下 HTTPS,引出 HTTPS
  • 手撕代码切忌抬手就写,要确定题意,对有不理解的地方要敢于提问。解题时跟面试官说自己的思路,以及每一步干什么,一边写一边向面试官解释
    • 不要一开始就追求最优解,面试官不会太反感粗糙的代码,但他希望你是一个有逻辑、思路严谨的人
    • 面试官会引导你优化你现有的代码,不必因为一开始写不出最优解而苦恼。
  • 反问环节:要从面试官那儿获得对自己的反馈,比如:
    • 你觉得我的基础如何,之后该向哪个方向加强?
    • 当前企业最主要的技术栈是什么?
    • 公司目前的主要业务是什么?该岗位主要负责什么内容?

当我们经历了技术面的洗礼后,顺利来到了 HR 面试,这时候要记得:在 HR 面试环节,要在不过分夸张的情况下表现出自己的优秀,表现出对加入公司的向往。

HR 主要会问以下几项内容:

  • 了解你的个人情况(校内经历、兴趣爱好、家庭情况···)
  • 询问你对公司的了解,我们可能面试很多家公司,不可能每家公司都了解很透彻,只要了解公司的行业,主要产品即可
  • 询问你的期望薪资(这是 Battle 名场面!最后再展开说)
  • 反问环节:可以问 HR 关于企业文化培养新人的制度等,如果有完善的制度和文化,一般 HR 都会回答的很流利的,否则就要慎重了。

Android 面试要点

整个面试题分为三个部分:Java、Android和项目经验。

Java技术

Java基础
  • 对抽象、继承、多态的理解
  • 泛型的作用及使用场景
  • 枚举的特点及使用场景
  • 线程sleep和wait的区别
  • JAVA反射机制
  • weak/soft/strong引用的区别
  • Object的hashCode()与equals()的区别和作用
集合类
  • JAVA常用集合类功能、区别和性能
  • 并发相关的集合类
  • 部分常用集合类的内部实现方式
多线程相关
  • Thread、Runnable、Callable、Futrue类关系与区别
  • JDK中默认提供了哪些线程池,有何区别
  • 线程同步有几种方式,分别阐述在项目中的用法
  • 在理解默认线程池的前提下,自己实现线程池
字符
  • String的不可变性
  • StringBuilder和StringBuffer的区别
  • 字符集的理解:Unicode、UTF-8、GB2312等
  • 正则表达式相关问题
注解
  • 注解的使用
  • 注解的级别及意义
  • 如何自定义注解

Android技术

Android基础
  • 四大组件的意义及使用,生命周期回调及意义
  • AsyncTask、Handler的使用
  • Android系统层次框架结构
  • AsyncTask的实现方式
  • AsyncTask使用的时候应该注意什么
  • Android常见的存储方式
  • Looper、Handler和MessageQueue的关系
  • Activity的启动流程(考察对Framwork的熟悉程度)
  • 多进程开发的注意事项(Application类区分进程,进程间内存不可见、进程间通讯方式)
Resource相关
  • .9图片的意义
  • style和theme的作用及用法
  • dpi、sp、px的区别以及转换关系
  • raw和assets文件夹的作用,二者有何区别
  • Android系统如何在多个资源文件夹下查找匹配最合适的资源
虚拟机
  • Java内存模型
  • Android虚拟机的特点
  • Dalvik和Art的区别
  • 熟悉垃圾回收的实现机制,了解虚拟机的GC类型
View相关
  • 常用组件的使用:ListView、RecyclerView及Adapter的使用
  • View之间的继承关系
  • Invalidate与postInvalidate的区别
  • 自定义View的实现方式(根据项目经验询问相关组件)。
  • onMeasure/onLayout/onDraw的作用
  • Paint、Matrix、Shader等绘制相关类的方法作用
  • 详细描述事件分发机制
动画
  • Android有哪些动画的实现方式
  • Interpolator类的意义和常用的Interpolator
  • ViewAnimation与属性动画有什么区别
  • 如何自定义ViewAnimation
  • 属性动画的实现原理
图片处理
  • 一般项目中如何加载大图
  • 图片压缩的方式
  • 如何不压缩图片加载高清图
  • 图片加载过程中,一般会使用缓存,这个缓存的主要作用是什么
  • 谈谈自己熟悉的图片加载框架

项目经验

开发工具
  • 代码管理工具:SVN、Git
  • 常用的调试工具:Hierarchy Viewer、DDMS等
  • CI工具:Lint检查,FindBugs、Jenkins
  • 内存分析工具:dumpsys、memoinfo、MAT
项目工程
  • APP更新策略:推送或者拉取?
  • 如何统一处理错误崩溃
  • 如何进行用户行为收集
  • 日志管理有哪些要点?(Debug包开放,release包关闭,错误日志反馈)
  • 打包方式Ant、Maven、Gradle
  • 机型适配情况
开放平台
  • 是否使用过第三方平台
  • 常用开放平台的熟悉度(微信、QQ、微博、支付宝等常用的支付和分享)
  • 是否进行过对第三方平台的统一封装?
  • 是否自己开发过SDK?
设计相关
  • 有哪些常用的设计模式、设计原则
  • 设计模式在Android源码中的应用
  • 设计模式在项目中的应用
  • 项目中的分包方式
  • MVC在android中的应用,利弊
  • android项目中的常见层次结构,包划分
  • 有没有设计过项目中的层级结构、包划分

好了,大概就这么多,大家可以考察下自己对于知识点的掌握情况。

对于答案,我觉得只要你真的会了,用自己的语言去描述就是最好的答案~ 不过为了让大家方便复习,我将耗时一年多整理的1025页的Android高级面试及答案解析分享给大家~

接下来重点来了!!!

高质的学习资料

如今入门Android的门槛已不像十年前那么高,学习资料随便百度一搜一大把,我们需要选择适合自己的、高质的学习资料来学习,否则会降低我们的效率。

我整理了各个科目的一些学习资料,并且自己手工制作了几幅思维导图,相信一定对你有帮助!

简信我「面试」即可获取该文章中所有的高清脑图!

计算机网络

计算机网络是开发中的重中之重,基本上是离不开网络这一块的,因为我们开发的应用要给客户用的,给客户都用就涉及到联网,联网就涉及到网络。

对于开发人员而言,应用层、传输层是最最重要的,网络层次之,其余作为了解,感兴趣可以深入学习。

我阅读过的书籍有三本:

  1. 《图解 TCP/IP》
  2. 《图解 HTTP》
  3. 《计算机网络:自顶向下》

前两本书用大量的图解让我们对整个网络世界进行宏观上的了解,第三本书会更加系统、全面地将每一层的知识点讲解透彻。

数据结构与算法

这一块是最最重要的,只要你是研发岗位,就逃不过这一关,但恰恰这是最难的一关,因为它的灵活多变,学习的难度自然会上升,但这也是被最多人忽略的一个领域。

Android七大核心知识

如果是从事 Android 开发,这部分就相当于我们的根基,这部分知识面有些广,重要的也很突出:

  • 架构师筑基必备技能:深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO
  • Android高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化
  • 360°全方面性能调优:设计思想与代码质量优化+程序性能优化+开发效率优化
  • 解读开源框架设计思想:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack
  • NDK模块开发:NDK基础知识体系+底层图片处理+音视频开发
  • 微信小程序:小程序介绍+UI开发+API操作+微信对接
  • Hybrid 开发与Flutter:Html5项目实战+Flutter进阶

上面这几个知识点是我在面试过程中被问到过次数最多的,如果需要系统的学习,针对这些知识点,我手头上准备了不少的电子书和笔记,将这些笔记将各个知识点进行了完美的总结。

Android开发相关源码精编解析

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。

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

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

关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三。

完全掌握以上这些不能够让你马上冲进大厂,但至少能够让你踏进中厂或者好的小厂,踏进大厂也只是时间问题!

总结

(1)准备一份好简历,格式一定要用 PDF,参考网上的模板不断优化自己的简历内容

(2)3月至5月是春招和金三银四的招聘时间,6月至8月是秋招提前批的黄金时间,9月至11月是秋招的大潮,一定要跟上!

(3)投递简历一定要内推,内推码和公司都在牛客网

(4)要有自己的一两个面试小技巧,可以在不断面试中总结出来

(5)心态要稳,要淡定,你总能成功的

英雄不问出处,总有一片属于你的天地,一定要试着坚持下去!

  • 羡慕那些年薪几十万的同学吗?羡慕。
  • 羡慕那些有大厂 Offer 的人吗?羡慕。
  • 羡慕那些已经找到自己热爱的岗位工作的人吗?羡慕。

切忌因此而焦躁不安,盲目的攀比只会让自己的眼光更狭隘,做好自己的职业规划非常重要,享受追逐梦想的过程吧,万一实现了梦想,你的下一站又是哪里呢?

最后再补充一句,不要妄自菲薄,但也不要眼高手低,我们都是普通人,比昨天的自己更进步一些就好了!

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引人注目的简历
  • 常见的面试小技巧
  • Android 面试要点
    • Java技术
      • Java基础
      • 集合类
      • 多线程相关
      • 字符
      • 注解
    • Android技术
      • Android基础
      • Resource相关
      • 虚拟机
      • View相关
      • 动画
      • 图片处理
    • 项目经验
      • 开发工具
      • 项目工程
      • 开放平台
      • 设计相关
      • 计算机网络
      • 数据结构与算法
      • Android七大核心知识
      • Android开发相关源码精编解析
      • Android高级开发面试题及答案解析
  • 高质的学习资料
  • 总结
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com