小米 Android 开发岗的面试经历~

Posted 冬天的毛毛雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小米 Android 开发岗的面试经历~相关的知识,希望对你有一定的参考价值。

作者:BUG的奇妙之旅

在1月份的时候就有了离职的想法,但是真正做出决定的时候是2月初,心里想着是存点钱,出去放松一下自己,在游玩的时候顺便找一下工作。再找工作前就提前在网上收集了一下面试题及其他的学习文档,等出去游玩时,利用晚上的时间进行刷题复习一下。

我是从渣本毕业毕业,实习时是在一家小公司,每天基本的工作都是两三个小时就能完成,而每天没有新的项目可以挑战,整天感觉自己就在摸鱼……这样持续了一年,日子过得很安逸,但是对比了一下曾今的同学薪资基本完成了翻倍,觉得自己在清醒的堕落,于是逼自己沉下心来,把毫无进步空间工作辞了,打算潜心准备一个星期后,一直到2月中旬。共面试12家公司,近20多轮面试,拿到2个小公司和2个上市公司(还有一个不是出名的公司)的offer,最终准备去小米。也投递了BAT、360、抖音、快手、平安等大厂的岗位,不过大部分没给面试机会,少数大厂在后续面试中也把我拒绝了,原因是:基础知识不够扎实,技术深度不够。

话不多说,上才艺!!!

先上Offer,下面开始面试分享

面试分享

小米一面 (1小时20分钟)

  1. 讲一个你印象比较深刻的项目
  2. 讲一下Volley框架的实现机制
  3. BLE蓝牙的使用流程
  4. 设计模式你说下
  5. binder机制应用层面上说下
  6. View事件分发机制说下
  7. android性能优化说下(布局优化、内存泄露、bitmap压缩等等…)
  8. eventBus框架是干什么用的,实现机制?
  9. ANR和crash遇到过么?怎样解决
  10. 编写代码(给一个网址,编写代码)

输入一个n*n的正方形矩阵a,要求填充逻辑代码,将矩阵a顺时针旋转90度

小米二面(1小时20分钟)

  1. 自我介绍
  2. 你做的这几个项目挑出一个来讲一下
  3. 步态分析器这个项目的话,你感觉核心实现是什么?
  4. 讲一下蓝牙有几种方式,你用的BLE的蓝牙流程说下
  5. 假如说你的app现在使用了一个A的第三方库,那么为了以后可以容易换成B的第三方库,你会怎样去做减少后面的修改难度?
  6. android的多线程你知道多少?介绍下
  7. asyncTask的内存泄露你知道么?
  8. 给一个网页,手撕代码

题目:一个字符串,开始可能有0-N个空格,然后在这个串中每个单词之间有1-N个空格,最后的结束也有N个空格,现在要求最后的输出结果是开始不能有空格,每个单词之间只能有一个空格,最后全部是空格的格式

一、先实现,无要求

二、空间复杂度要求为O(1),再优化

武汉现场面三面 40分钟

  1. 自我介绍
  2. 讲一个你熟悉的项目
  3. 手写代码:一个数组中的数字,有大有小,如何用最少的+1或者-1的操作消除数组中的数字差异过大的情况,返回你的操作次数
  4. intentService了解么?说一下他的用处和原理
  5. intentService和service的区别
  6. intentService现在要求让他的任务可以并行执行,你会怎样去实现
  7. asyncTask说下主要的方法
  8. activity销毁之后,那么asyncTask如果还在执行,那么会造成什么问题
  9. activity的旋转屏幕的生命周期变化
  10. 手写代码:一个单链表,每三个节点反转一次
  11. 你有什么想问我的么?

面试体验:

小米每次面试基本上必备的就是手撕算法,so,一定要做好点准备,难度都一般,不是难的那种。另外从android的技术上来说,从我的面试经历来说都是一点即过,面试官没有多少深入的挖掘知识点。面试官都很nice,有些算法上卡着了,会一步一步的引导你。

总结:

简历上写的东西,一定要先搞懂,特别是简历上的专业技能。这次面试收到的最多反馈就是:基础知识不够扎实,技术深度不够。现在Android开发大部分需要懂点C++和Linux知识,大厂也需要刷算法面试题,在后面的学习过程中,我将从以上几个方面着手。当然也必须把基础知识学牢固,技术深度搞深入点。

为了能够帮助到大家更有效快速的切换至学习的状态,少踩点坑,我把我之前学习的一些Android 知识点笔记等进行了整理上传至我的【Github】。 如有面试需要的朋友,可以去我“【Github】参考复习

GitHub地址: 
https://github.com/733gh/Android-T3

以上是关于小米 Android 开发岗的面试经历~的主要内容,如果未能解决你的问题,请参考以下文章

谈谈我的8月小米Android开发岗三面,已上岸,多少带点辛酸的经历!

初面蚂蚁金服,记一次美团Java研发岗的面试经历

十年Java编程开发生涯,记一次网易Java研发岗的面试经历,极其重要

过去那些年我面试过的Android开发岗的总结(附面试题)

腾讯T2手把手教你!记一次蚂蚁金服Java研发岗的面试经历,面试篇

2021年秋招小米Android面经-已获offer