写点什么

2020 应届毕业生,Android 春招总结,已入职小米 (1),kotlin 安卓开发教程

用户头像
Android架构
关注
发布于: 2021 年 11 月 05 日
  1. TCP 和 UDP 区别

  2. 手撕代码:单例模式 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. 线程池(词)是什么?如何打印两个线程同时完成的消息?


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


  1. 你了解 android 的 View

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

  3. ListView 和 RecycleView 的区别?

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

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

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

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

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

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

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

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

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

  13. 有没有试过抓包?

  14. 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. 多进程(如何多进程,为什么要多进程,有什么优缺点)

  3. 架构(问了 MVC,MVP,MVVM 这些,还问了设计模式相关)

  4. 学习过程

  5. 项目构思过程,项目搭建过程

  6. Messager,ThreadLocal

  7. 接口和抽象类(为什么要有这两个区别,在项目中如何使用)

  8. Rxtrofit

  9. Rxjava

  10. 责任链模式

  11. 观察者模式

小米

一面(1h)


  1. 个人介绍

  2. 聊项目,展示项目,问问题

  3. 介绍 binder,如何控制 binder 的访问

  4. i++是否线程安全,如何保证线程安全,volatile 是否可以

  5. hashmap 实现,是否线程安全,如果多线程进行操作会发生什么

  6. 如何使一个线程进入 destroy 态

  7. 编程 判断某个数的各位平方和是否收敛,意思就是最后变成 1 收敛,最后循环到之前的一个数 不收敛

  8. 对未来的发展规划

  9. 拿到哪些 offer 了,如何给你发 offer 怎么选择

  10. 死锁的发生条件

  11. JNI

  12. 是否下载过 android 源码


二面 (30misn)


  1. 自我介绍

  2. 编程 二叉树两节点的最近公共父结点

  3. 学过哪些专业课,根据专业课问了些问题

  4. 数据库 ACID 是什么,原子性的体现

  5. 虚存是什么

  6. 虚电路与存储转发的区别

  7. TCP 协议可以在虚电路上运行么

  8. 路由选择协议有哪些

  9. ps.面试官应该不是做安卓的


加面 (1h)


  1. 自我介绍

  2. 四大组件

  3. service 使用场景

  4. 后台 service 和后台线程的区别,service 如何实现跨进程通信

  5. 描述一下 AIDL 和 binder 工作原理

  6. binder 如何做到数据的跨进程传递

  7. 内核空间与用户空间的区别

  8. 进程与线程的区别

  9. 线程的调度由谁实现

  10. 听说过协程么

  11. 死锁的发生情景

  12. handler 的工作原理,handler 对象在哪个线程存活

  13. 如何实现 blockingqueue

  14. synchronized 和 Lock 的区别

  15. volatile 的实现原理

  16. 介绍 http

  17. http 如何保持状态

  18. cookie 的工作原理,存放位置,cookie 可以被修改么,如何验证 cookie 有效未被篡改

  19. http 相对于 https 有什么问题

  20. 介绍 https 工作原理

  21. MVP 与 MVC 区别

  22. 聊实验室项目

  23. 工作意愿

  24. 算法 最长递增非连续子序列长度

  25. 编程 逆时针打印递增矩阵

最后

由于文章篇幅原因,我只把面试题列了出来,详细的答案我整理成了 PDF 文档,这份文档还包括了我复习的各种资料和面试真题解析,需要的朋友可以私信我【资料】或者**[【点这里】](


)免费领取**


**[《Android 面试复习资料汇总》](


)**

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
2020应届毕业生,Android春招总结,已入职小米(1),kotlin安卓开发教程