关于android:去了十多家大厂Android面试offer拿到手软总结了这些面试经验堪称offer收割机

3次阅读

共计 4875 个字符,预计需要花费 13 分钟才能阅读完成。

本文次要是我最近面试的总结心得与布局。蕴含:面试筹备,简历倡议,投递简历办法,面试问题,面试安顿,面试前的筹备,如何与面试官的交换,如何与面试官沟通,如何答复问题,冀望薪资程度,集体总结等等。

面试之前

我想跟大家说的是跳槽这个货色是好,然而不倡议频繁的跳槽,你跳那么一两次还行,能够帮你晋升本人的价值。

频发跳槽的话,不光会成为面试官胆怯的一个方面,对本人的积淀也是没有帮忙的。同时我不倡议裸辞,这样会存在太多的不定性因素,如果面试工夫拖得太久,这段时间你没有经济支出,然而你还在收入(房租,日常生活开销)。这样会带来有形的压力,同时如果面试受挫,很容易失去信念,甚至狐疑本人的能力。然而到职也有他的益处,因为,有些公司可能我的项目十分急,须要迅速上岗,那么你到职的交接办理也会耽搁一些工夫,那么也会成为面试官思考的一个因素。所以还是要联合本人的状况而定。

面试筹备

1. 面试温习

置信大家在面试前都会进行温习和刷面试题等操作,让本人在面试中可能更好的答复面试官提出的问题,面试的更加顺利拿到 OFFER。

  • 面试之前我是用了半个月的工夫进行温习,讲本人之前看过的书籍、做个的一些我的项目、写过的一些博客和一些 java、Android 根底进行温习了一遍。起初我发现只管本人花很久工夫去温习,温习的成绩在面试过程中体现的成果不是很大。因为不论你温习的多好,可能没过几天就遗记之前看的内容了。所以工夫的把控很重要,能够将本人的技术强项知识点进行梳理一下,比方像:framework、性能优化、UI 等等……,将本人的技术强项示意进去给面试官看,其余的面试惯例知识点利用个一两天工夫进行温习牢记就好了,不必等 100% 把握才去面试,因为那是不可能的事。你很难温习得过去,本人感觉把握个 70% 左右就行了,剩下的就在面试中去回顾吧。
  • 不要想着齐全不必回顾本人以往学过的货色,也不去筹备。就等着面试遍温习,因为即便你当初了解的熟的不能再熟,也要看,因为你永远想不到本人的记忆力消散的有多快,有多可怕。同时当你面试的时候,你就会发现,你基本没有工夫去温习。即便你想在地铁上看一下也是不太可能的,因为你会忙着别的或是太累或是导航去下一个地点。而没有工夫去温习。

2. 简历制作

简历是咱们面试前给 HR 和面试官的第一印象分,因为你的简历好与差决定了你是否有面试机会。简历能够说就是你的名片。

同时制作简历也是一种学识,一份好的简历往往让人眼前一亮。所以你在简历中要突出重点。

  • 技术专长
    假如你对我的项目底层技术比拟理解,就能够把本人理解的够深的技术写在下面,比方:Java 序列化、泛型与反射、JDK 高级动静代理、Java 高级并发原理等,如果你是音视频技术不便是你的强项,也能够写在下面。尽量不要有精通这个词语呈现,除非你是真的“精通”。否则就是给本人挖坑。不要写一些太过常见的技能,这样很难体现出你的劣势,技能专长有个 10-12 个左右就能够了。简历只有表白出你的特点,简单明了比拟好。其余的大家本人琢磨下就能够了。
  • 我的项目介绍
    如果你是实习,那么你就写在学校中做过的一些好的我的项目。如果你是退职就要有肯定公司我的项目。填写我的项目介绍的个数管制在 2 - 3 个即可。如果你有其余的我的项目教训也可写在下面,比方前端、后端等等,那么这会是加分项。总之我的项目介绍不要太啰嗦就行了,重点突出你的强项和有设计到的技术,次要性能的实现,写出你在我的项目中做了那些局部内容。(这部分要形容好,面试很有可能会从中来提出问题,比方开发中遇到的问题、难点、优化、合作、调优等等)
  • 其余技能
    如果英语有等级做好也写上去,还有本人发的一些博客、GitHub 等也要填写一下。

简历制作总结:至于其余的对大家应该没有难度。同时适当的包装无可非议,求职者想找个好工作,面试官想找个好员工。对方就像相亲一样。肯定会把你的底摸个分明的。如果相亲的时候的没问题,等孩子都有了那就晚啦。哈哈,我就是这个意思。包装的目标是为了减少 HR 的通过率。这样才会有面试机会,对咱们这种渣渣来说,面试机会比面试通过与否更重要。因为面试邀请都没有,你筹备有个 P 用。

  • 集体筹备
    如果你是在大城市,肯定要把手机充好电(带着充电宝),因为去哪里都要导航,还有就是提前就多买点吃的,因为你可能为了干面试一天都吃不上饭(深有体会)。带好简历和纸笔。
  • 面试安顿
    如果面试邀请比拟多的话,肯定要用 Excel 做好表格,而后尽量把雷同地点的安顿在一起(尽管给你面试邀请的时候,会规定工夫,然而你打电话沟通改工夫件,个别都会批准的,大家都了解)。这样你就能够不必来回跑,能够一天面 3 - 4 个。还能节省时间和膂力。我把我的表格拿进去,你们能够做个参考:

    大家能够依据本人的状况本人创立,安顿和查看都很不便。

  • 面试排期
    面试多的话,不要一天排超过 4 个,2- 3 个最好,有时候可能会赶不上,同时会给人家造成不好的印象,同时对本人太多操劳(面试比工作累多了)。

面试过程

这一节次要是记录我的一个面试过程,感兴趣的能够持续往下看,不感兴趣的能够间接跳过,不强求。

百度

  • 这里次要负责的业务是手机百度开发,总共面试了三次。
  • 一面内容:
  1. java 援用,以及援用队列,以及应用场景;
  2. 拆装箱
  3. LeakCanary
  4. map
  5. 线上性能监控
  6. SharedPrefrence 遇到的问题
  7. 手写算法
  • 二面内容:
  1. Handler
  2. 过程间通信
  3. 序列化
  4. 动画,
  5. native 解体捕捉原理
  6. 联合我的项目发问
  7. Recyclerview 的点击事件原理
  8. 启动一个空的 apk,回启动几个线程
  9. 手写算法
  • 三面内容:
  1. 跳槽起因
  2. 原来公司规模
  3. 预期薪资
  4. 集体劣势
  • 集体体验心得:
  1. 简历上写的肯定要理解,并且晓得原理
  2. 多相熟我的项目,找出一些能聊得性能点
  3. 解体捕捉,以及解决(java ,native)
  4. 优化须要晓得(大厂都会问)
  5. 理解由点到面,须要把常识连贯起来

中软国内

  • 岗位业务光荣手机内置 APP- 次要负责推送,一共两面
  • 一面: 问的我的项目中哪些用到了 hook 技术,是怎么实现的,Okhttp 底层原理,点击利用图标的启动流程,hashmap 在 java7 和 java8 的区别,为什么要引入红黑树
  • 二面:我的项目是怎么搭建的,用到了哪些技术点,arouter 用到了什么技术点,是用来解决什么问题,socket 底层原理,是如何率领团队的,一个性能是如何从剖析需要到落地的

集体体验心得:尽量围绕简历上的点来刷面试题,不肯定都要钻研透彻,被问到本人不熟的点,能够尽量尝试着往本人相熟点带,例如之前我被问到 pms 是怎么治理 package 信息的,我就说目前我对 pms 理解不深,次要也是钻研了 ams,而后就把本人理解的说一下就好了。

京东到家(总共三面)

  • 一面:线程,过程,音讯,通信,handler,okhttp
  • 二面:事件散发,java 一些根底,算法
  • 三面:聊我的项目

体验:除了技术,沟通,理解能力要好

阿里巴巴

  • 面试的岗位是音视频开发,总共是 3 轮技术面 + 1 轮 HR 面。
  • 一面内容:
  1. MediaCodec 连环炮:MediaCodec 报错,只有错误码,没有任何其它信息,如何解决?应用 MediaCodec 遇到了哪些问题? 同步应用和异步应用有什么区别?
  2. 如何计算音频帧,一帧音频帧有多大
  3. YUV 基础知识,相比于 RGB 缩小了多少空间,YUV 各个重量都是 0 理论渲染进去是什么色彩的,NV21 和 NV12 有什么区别
  4. MP4 是如何存储音视频文件的,它是什么构造
  5. OpenSL 相干的问题,如何应用。能够干什么不能够干什么
  6. 联合我的项目问题
  • 二面内容:
  1. SurfaceView 和 TextureView 区别
  2. OpenGL ES 相干问题,MVP 矩阵左乘和右乘有什么区别,什么是内部纹理,为什么叫内部
  3. OpenGL 如何渲染一个 View
  4. VBO 是用来干嘛的解决什么问题
  5. 联合我的项目问问题
  • 三面内容:
  1. 我的项目是什么架构,如何设计的,为什么这么设计
  2. 算法题:字符串反转
  3. 平时如何学习的

集体感触:音视频开发感觉 OpenGL ES 问的比拟多,这方面多看看 LearnOpenGL 这个网站的教程,多加领会。

其实还有几家小型公司的面试,我就不在此一一的阐明了,因为文章篇幅长度无限,所以就筛选了几个本人感觉面的还不错的公司进行跟大家分享。庆幸的是等到了本人想要的 阿里 OFFER。

面试通用问题答复技巧

自我介绍

这个时候往往是面试官看你简历内容的时候,然而咱们的介绍也要简单明了,能够从这几个方面:

  • 个人信息:简略的个人信息介绍(名字,年龄等),大学,毕业工夫
  • 公司介绍:上家工作次要方向,日常做什么工作,你承当什么角色等
  • 集体特色:比方你课余时间喜爱看书,写博客等介绍

集体职业规划
那我来说,我会在当前的 1 - 3 年学好 java 根底,数据结构与算法,被动去理解后盾开发,同时在公司业务方面的 Android 方向深刻,保持看书写博客,再学一门语言等

向面试官发问

  • 对这次面试做个总结和对我评估(其实就看也看出是否有动向)
  • 依据面试,您感觉我的能力是否可能胜任贵公司的工作
  • 您感觉我哪方面常识须要深刻学习或者我的有余在那些方面,今后我该留神什么
    这些问题不仅能帮忙你,还能对这次面试做到成竹在胸。

集体总结

其实面试也是个学习过程,之前没有好好了解,在这些面试之后平时不留神,须要学习的方面就显露出来了,这样也能晓得本人的有余;也能帮忙本人当前的职业规划的学习方向。

今后打算

筹备好好工作,静下心来,好好积淀本人,多总结开发的问题,晋升本人集体能力,尽管 Android 当初不那么景气,然而既然决定做 Android 那就好好去学习,去深耕技术。

面试后整顿了一些 Android 面试中比拟常见的知识点和 Android 相干技术点的学习文档,内容涵盖:Java 根底,Android 根底,UI 控件篇,网络通信篇,架构设计篇,性能优化篇,源码流程篇,新技术篇,大厂面经等等 … 品质十分高!大家须要进行参考学习的话能够点击这里查看全部内容

第一章 Java 根底

  • 动态外部类和非动态外部类的比拟
  • 多态的了解与利用
  • java 办法的多态性了解
  • java 中接口和继承的区别
  • 线程池的益处,详解,单例(相对好记)
  • 线程池的长处及其原理
  • 线程池的长处(重点)
  • 为什么不举荐通过 Executors 间接创立线程池
  • 不怕难之 BlockingQueue 及其实现
  • 深刻了解 ReentrantLock 与 Condition
  • Java 多线程:线程间通信之 Lock
  • Synchronized 关键字原理
  • ReentrantLock 原理
  • HashMap 中的 Hash 抵触解决和扩容机制
  • JVM 常见面试题
  • JVM 内存构造

第二章 Android 根底

  • Activity 知识点(必问)
  • Fragment 知识点
  • Service 知识点
  • Intent 知识点

第三章 UI 控件篇

  • 屏幕适配
  • 次要控件优化
  • 事件散发与嵌套滚动

第四章 网络通信篇

  • 网络协议

第五章 架构设计篇

  • MVP 架构设计
  • 组件化架构

第六章 性能优化篇

  • 启动优化
  • 内存优化
  • 绘制优化
  • 安装包优化

第七章 源码流程篇

  • 开源库源码剖析
  • Glide 源码剖析
  • Android 面试题:Glide
  • day 20 面试题:Glide 面试题
  • 聊一聊对于 Glide 在面试中的那些事
  • 面试官:简历上如果写 Glide,请留神以下几点…
  • Glide OOM 问题解决办法汇总
  • OkHttp 源码剖析
  • Okhttp 连接池复用机制
  • Okhttp 流程和优化的实现
  • 一篇让你受用的 okhttp 剖析
  • OkHttp 面试之–OkHttp 的整个异步申请流
  • OkHttp 面试之–HttpEngine 中的 sendRequest 办法详解
  • OkHttp 解析大总结
  • Okhttp 工作队列工作原理
  • Android 高频面试专题 – 架构篇(二)okhttp 面试必知必会
  • Android 网络优化,应用 HTTPDNS 优化 DNS,从原理到 OkHttp 集成
  • Retrofit 源码剖析
  • RxJava 源码剖析
  • RxJava 原理与源码剖析

第八章 新技术篇

  • 实战问题篇

第九章 面试篇

  • 开源文档
  • 面试题合集

最初还有耗时一年多整顿的一系列 Android 学习资源:Android 源码解析、Android 第三方库源码笔记、Android 进阶架构师七大专题学习、历年 BAT 面试题解析包、Android 大佬学习笔记 等等,这些内容均收费分享给大家,须要的小伙伴点击这里收费支付。

正文完
 0