写点什么

2020 应届毕业生,Android 春招总结,已入职小米,深入解析 android 核心组件和应用框架

用户头像
Android架构
关注
发布于: 刚刚

劣势


  1. 学历不够,非 211.985 本科或研究生。

  2. 没有实习经历,无法了解到真实的业务场景。

  3. 刷题不够,手撕算法能力不够强。

  4. 计算机基础深度不足,容易被问死。

  5. 项目难度不足,没有太多亮点。

  6. 缺少重量级奖项(acm 之类的)。


分析


由于劣势 1,2,6,我的简历很难写的出彩,也很难走内推通道。


由于劣势 3,4,5,在面试时缺少亮点和深度,无法让面试官留下太深的印象。


由于优势 1,2,我在聊个人经历时有很多可以说的内容,可以充分展现我的业务能力和开发基础

需要做的事

  1. 提高刷题量,增强算法能力。

  2. 在 Android 方面加深基础,多看面经。

  3. 持续的修改简历,突出亮点。

  4. 增加获奖经历。

  5. 复习科班基础。

过程

  • 为了提高算法能力,我刷完《剑指 offer》,了解面试官出题的套路;还在 LeetCode 上 AC 了 20 多道 Hard 难度的题,在牛客上 AC20 多道低通过率编程题,加强手撕代码的能力。



  • 为了提高计算机基础,我复习了以下科目


  1. 计算机网络

  2. 操作系统

  3. 计算机组成原理

  4. 编译原理


  • 在网络上搜集相关面经,主要是 BAT TMD NJ 的 Android 岗位的面经,在看面经的时候我会尝试回答每个问题,看看自身掌握如何,不会的及时找到答案并弄懂。


![](https://


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


upload-images.jianshu.io/upload_images/22861276-74552deaf26cd5ca?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


需要资料的朋友可以私信我【资料】或者或者**【点这里】免费领取**


  • 由于对内推不抱希望,我在牛客网上刷大量的笔试题。希望通过提高笔试能力,能尽量拿到参加面试的机会。

面经

均只有技术面

字节跳动

一面(30misn)


  1. handler 原理

  2. 怎么解决 handler 内存泄露

  3. 四大引用

  4. 接口和抽象类区别

  5. 对 MVP 的理解

  6. retrofit 源码

  7. java 面向对象三大特性

  8. java 异常机制

  9. 算法:反转链表


二面 (40misn)


  1. asynctask 原理

  2. ANR 原因

  3. ANR 排查

  4. 怎么解决加载大图 OOM 的问题

  5. https 过程,对称加密,非对称加密

  6. TCP 和 UDP 区别

  7. 手撕代码:单例模式 DCL,面试官问我有没有更优的,

腾讯

一面 (1h)


  1. 自我介绍

  2. 笔试题 1:删除无序链表中的重复结点(能否优化)

  3. 笔试题 2:先说一下二叉树的有哪些遍历方法。写一个二叉树前序遍历的非递归形式。

  4. 讲一下 Java 的内存。

  5. 创建一个字符串对象,这个对象分配在哪里?

  6. String str = “123” + “456”;会创建几个对象。

  7. 问了操作系统的问题,没学过,所以也忘了问了什么。

  8. 数据存储有学过吗?数据库和文件保存有什么区别?

  9. Activity 有哪些启动模式?

  10. 有什么要问的?


二面 (1h)


  1. 上一轮面试做了哪 2 道面试题?

  2. 会哪些编程语言?

  3. 想做哪个方向?为什么?Android

  4. 对 Android 比较感兴趣,都学了些什么?我答了活动的启动模式、Handler。

  5. ListView 源代码有看过吗?没看过。

  6. 想一下 ListView 应该是怎么实现的?链表?

  7. ListView 滑动页面如何实现页面的复用?队列?

  8. 给你 2 个线程,如何产生死锁?为什么会产生死锁?

  9. 外存有一定量的数据,需要读取到内存中处理,但是内存的大小是不知道的,要求如何能够读取尽量少的次数,才能处理完全部的数据?

唯品会(一面就挂了)

一面:(1h)


  1. udp 和 tcp 的区别

  2. 能介绍一下 Android 的四大组件吗?

  3. 二分法是怎么样的

  4. 线程池(词)是什么?如何打印两个线程同时完成的消息?

  5. 你了解 android 的 View

  6. 你了解有哪些动画吗?

  7. ListView 和 RecycleView 的区别?

  8. udp 和 tcp 的区别?http 是基于 tcp 还是 udp

  9. 项目怎么实现刷新实时天气情况这个功能的

  10. 项目怎么实现显示本地 mp3 文件

  11. http 和 https 的区别吗?你的项目你是用 http 还是 https?

  12. 你的学习经历是怎么样的?

  13. 如果遇到你和同事出现了矛盾你会怎么办

  14. 如果经理提出的需求分析你很难实现你该怎么办?

  15. 你学习过哪一些源代码

  16. 如果 debug 出现问题你会如何去发现问题

  17. 有没有试过抓包?

  18. java 多线程是怎么实现的?

斗鱼

一面(40misn)


  1. 线程同步(五个线程如何顺序执行)

  2. GC

  3. 内部类特点

  4. 四大引用方式

  5. 新建线程的方式(三个)

  6. arraylist 和 linkedlist

  7. 线程池(使用,种类,参数)

  8. hashmap

  9. 自定义 VIew

  10. 性能优化(布局和代码),

  11. sp、dp 和 px 的区别(适配问题)

  12. handler(基本原理,ThreadLocal 原理和使用)

  13. 四大组件(问了生命周期和特点和基本使用)

  14. TCP 和 UDP

  15. HTTP 建立过程


二面(50misn)


  1. View 绘制

  2. 多进程(如何多进程,为什么要多进程,有什么优缺点)

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
2020应届毕业生,Android春招总结,已入职小米,深入解析android核心组件和应用框架