【Android校招】六家大厂一起发难!最后一家竟是美团,面不过直接送外卖,大厂offer收割总结

2020届研究生,Android开发岗。

准备了四个月终于拿到了大厂的几个offer,一共面了字节跳动、腾讯、美团、快手、百度、阿里钉钉部门,offer都拿到了,最后决定了去美团~

字节今日头条

字节面试比较注重基础,包括在线写题,数据结构,Java基础,JVM基础,操作系统等;以下包括实习3面;字节实习面试是一天内走完所有技术面试流程,每一面结束后如果通过则15min左右就开始下一轮面试。

今日头条一面

1、有三个函数 fun A(b) fun B():b fun C():c。其中 A 需要在主线程执行,BC 需要在子线程,且 A 需要等待 B 操作完成的返回值,如果用协程实现这个依赖关系并尽可能快速执行完毕。 开始我用的withContext,面试官又让用async写一下。协程框架的底层是怎么实现的有看过吗?怎么理解suspend关键字?挂起函数一定会被挂起吗?

2、写一个java单例模式(DCL),kotlin中如何实现单例?(object)object的原理是什么?线程安全吗?

3、http协议相关:http和https的区别是什么,加密过程?Get能否修改服务器中数据?

4、点击事件的分发过程?有一个业务需求:想要监听当前界面中的所有事件,该怎么实现?Activity能否拦截事件?

5、Java如何实现泛型的?java和别的语言的泛型有什么区别?解释一下泛型的逆变和协变?kotlin的in和out关键字作用?

6、内部类有哪几种?静态非静态内部类区别是什么?匿名内部类中访问外部类成员变量为什么要用final?不用会怎样?

算法题:给定一个二叉树和一个目标值target,写一个函数判断树中能否有一条路径(根节点到叶子节点)的节点的和为
target

今日头条二面

1、解释一下内存泄漏、handler内存泄漏原因?引用链是什么?虚拟机是如何判断对象是否可被回收的?
2、kotlin相比于Java好处是什么?kotlin对空指针异常是如何处理的?let、with、apply的适用场景?
3、Java异常机制、Error能捕获到吗?
4、我项目中账号密码是保存在本地的,怎么去保证安全?

算法1:给一个数组,找出数组中第k大的元素
思路一:排序
思路二:优先级队列
思路三:使用数据结构堆

算法2:手写快速排序

今日头条三面

  • 自我介绍。你的项目中用了kotlin,能说一下kotlin相比于Java好处是什么吗?
  • 你的项目中用了LiveData,能说一下它的原理吗?(源码没看过,简单说了一下观察者模式)
  • http协议请求头都包括哪些内容?
  • 计算机网络、操作系统、数据结构有系统学习过吗?
  • 后端、web前端、iOS方面有接触过吗?(学过MySQL和一点点Spring)
  • 你看过哪些Android源码?刚刚你提到了Handler,它是用来干嘛的?为什么要有Handler,自己写一个
    线程间通信的代码不行吗?你提到了消息队列,它的作用是什么?消息队列和Handler一定要一起使用吗?
  • 算法题
    (1)用二分法在排序数组中找到绝对值最小的元素
    (2)螺旋输出二维矩阵中的元素(不一定是方阵)
  • 能实习多久?什么时候毕业?什么时候能开始实习?
  • 反问
    (1)大厂对于新技术的看法?敏不敏感?(大厂会第一时间学习新技术,但是真正用在项目中需要时间)
    (2)鸿蒙的出现会不会抢了Android开发者的饭碗?(不会,移动端之间转行很容易)

腾讯-腾讯游戏

腾讯面试涉及到的范围也很广,甚至问到了C++,也具有一定挑战性的,腾讯面试过程中的感觉就是很多我不太熟悉的知识点都被问到了,甚至是不知道的知识点,但整体面试官给人的体验还不错,一般会提前打电话沟通面试时间。

腾讯一面

50分钟(腾讯会议视频面试)

  • 自我介绍,顺便展示了自己的项目,展示中出现了一个bug(尴尬),面试官问为什么会出现这个bug,
    出现bug你会采用什么方式解决(查看log)?如果是企业级应用修复bug,你会怎么做?项目是你自己写的吗?
    写了多久?
  • 有用过Java集合类吗(说了ArrayList、LinkedList、HashMap)?说一下它们各自特点和内部的原理?
  • Java中加锁的方式(sychronize和lock)?它们有什么不同?如果是高并发的场景,选哪个比较好,为什么?
  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值