2020应届毕业生,Android春招总结,已入职小米,进阶加薪全靠它

二面 (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. 多进程(如何多进程,为什么要多进程,有什么优缺点)
  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. 编程 逆时针打印递增矩阵
    okie可以被修改么,如何验证cookie有效未被篡改
  26. http相对于https有什么问题
  27. 介绍https工作原理
  28. MVP与MVC区别
  29. 聊实验室项目
  30. 工作意愿
  31. 算法 最长递增非连续子序列长度
  32. 编程 逆时针打印递增矩阵
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言面试八股文是指在聘中常见的C语言相关的面试题目和知识点。下面是一份常见的C语言面试八股文,供您参考: 1. C语言的基本数据类型有哪些? C语言的基本数据类型包括整型、浮点型、字符型和指针型。 2. 请介绍一下C语言中的变量和常量。 变量是用来存储数据的内存位置,可以通过变量名来访问和修改其值。常量是指在程序执行过程中不会改变的值。 3. 什么是数组?请介绍一下C语言中的数组。 数组是一种存储相同类型数据的集合,通过索引来访问数组中的元素。在C语言中,数组的大小在定义时就需要确定,并且数组的下标从0开始。 4. 请介绍一下C语言中的指针。 指针是一个变量,其值为另一个变量的地址。通过指针可以直接访问和修改内存中的数据。使用指针可以提高程序的效率和灵活性。 5. 请介绍一下C语言中的函数。 函数是一段完成特定任务的代码块,可以通过函数名来调用执行。函数可以接收参数并返回一个值,也可以不接收参数或不返回值。 6. 请介绍一下C语言中的流程控制语句。 C语言中的流程控制语句包括条件语句(if-else语句、switch语句)、循环语句(for循环、while循环、do-while循环)和跳转语句(break语句、continue语句、goto语句)。 7. 请介绍一下C语言中的结构体。 结构体是一种自定义的数据类型,可以包含多个不同类型的成员变量。通过结构体可以将多个相关的数据组织在一起。 8. 请介绍一下C语言中的文件操作。 C语言中的文件操作主要包括打开文件、读写文件和关闭文件。可以使用标准库函数来行文件操作,如fopen、fread、fwrite、fclose等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值