三面字节跳动被虐得“体无完肤”,15天读完这份pdf,终拿下美团研Android发岗offer

开篇:说清缘由

首先介绍一下我的个人背景,鄙人小康家庭,父母都是普通职业,供我读书长大不容易,好在我也算争气,高考发挥正常,考了个还算不错的大学,华南地区某211。今年的金三银四本是想好好拼一把,奈何受到疫情影响,只能将自己的计划缩减又缩减,所以第一家选择去面试的字节跳动,奈何三面被虐得“体无完肤”,好在自己并未气馁,复习15天后去面试了美团,最终4面拿下了offer。

文章以下内容主要是分享面经和个人的学习建议,内容涉及到很多PDF文档(面试题库、学习笔记、实战文档、脑图等),由于文章有限,需要这些文档的,直接(点击我)免费领取

字节跳动三面面经

字节跳动一面面试题(1hour):

  • 自我介绍
  • handler机制,sendMessage和post(Runnable)的区别。
  • ThreadLocal原理,底层实现
  • HashMap底层,扩容,LinkedHashMap
  • Service的onBind和onStart差别
  • Activity启动生命周期,A跳转B
  • Android持久化方案,SharedPreference是否可以跨进程通讯。ContentProvider
  • ClassLoader机制,双亲委派。如果我要写一个Activity类,那怎么保证加载的是我自己写的Activity
  • 算法题,约瑟夫环
  • 反问

字节跳动二面面试题(1hour):

  • 自我介绍
  • 项目技术点详解
  • 写过什么自定义View
  • OkHttp代码看过吗,用了什么设计模式
  • MVC、MVP区别,项目中的实现。
  • LiveData和EventBus的相关讨论,真的是讨论,畅所欲言
  • 看过哪些源码
  • SharedPreference相关
  • Android动画了解吗,用过什么
  • TCP、UDP区别,面试时的语音用的是什么,为什么要这么用。
  • 代码题,5个线程对一个int进行累加到1000.
    1* 反问

小总结:两面面试官都很和善,所有的问题都是在讨论,我不会的他们也容许我猜一下,然后告诉我猜的对不对……

字节跳动三面面试题(50mins):

  • 自我介绍
  • 算法,跳棋盘
  • 浏览器输入URL到渲染全过程
  • Http请求报文响应报文
  • http2.0有哪些优化
  • 用过哪些网络库
  • OkHttp的Intercepter
  • Android持久化方式
  • Java线程同步的数据结构
  • 对未来的技术有什么规划?你为什么要学这些技术?
  • 反问

字节跳动面试题答案+解析:

美团点评四面面经

美团点评一面面试题(30分钟):

  • 实习期间公司项目,自己开发的项目
  • 进程和线程的区别
    除了常规的,还比较了一下两者调度的区别,进程是靠中断来使系统陷入内核态然后完成调度,线程是依靠JVM进行。
  • 线程的状态。
    新建、就绪、运行、阻塞、死亡。不小心把进程的僵死什么的给说了……还好面试官捞了一手
  • TCP属于哪个层、TCP三次握手四次挥手。
  • Activity生命周期,A启动B生命周期变化。
  • 自定义View,需要重写哪几个方法。如果要你实现WIFI信号的显示,那么你会怎么做。
  • Android动画了解吗。
    说了过渡动画,说了自己封装的ObjectAnimator工具类,以及MotionLayout相关使用、以及过渡动画实现共享Item的用法。
  • 算法,打印2到100所有的质数,不要求效率,你输出就好了……

美团点评二面面试题(1hour):

  • 自我介绍
  • 实习期间做的最成功的一件事,为什么觉得最成功。
  • 针对具体的实习过程进行了讨论。
  • Java泛型。
  • 为什么基本重写equals方法时也需要重写hashCode方法。
  • 手撕生产者消费者模型,很惭愧……没撕出来。
  • 成绩怎么样……LZ本科期间及其浪荡,成绩很差,然后面试官脸色就变了。心态就有点崩。
  • 计算机怎么画一条线,底层怎么实现的。
  • PV原语。
  • 排序算法。
  • 树的遍历方式。
  • 反问。

心得体会:成绩不好的同学需要谨慎回答关于成绩的问题,不要那么直白,是把双刃剑。华为面试的时候说自己成绩不好,但是有博客和github作为后期努力的支撑,面试官就还是很开心。

美团点评三面面试题:

  • 自我介绍。
  • 实习工作介绍。
  • 如果让你从0开始搭建一款APP,你会怎么做。比如说就是美团外卖。
    • 基础类设计
    • 网络设计
    • 兼容性考虑
    • 代码质量保证
    • 测试相关
    • 设计模式的使用
    • MVVM架构的使用
  • 学校学习了什么课程,成绩怎么样……
  • 代码,快排。
  • 反问

问了一下美团对于Android应届生的需求,得到的答复是需要CS相关基础好,其他的要求比较宽松。

还有就是学习Android的方法,大佬说多看各种不同APP和优质框架的源码,从源码中学习。

总结:问题很少,每题都很致命……而且是没有答案的那种,你得自己思考。这个时候可以许愿一波hr面了。

美团点评HR面:

  • 自我介绍,抓住介绍的点让你详细说说?
  • 期望工作地点
  • 事业群介绍
  • 为什么想要留在北京
  • 为什么不读研究生
  • 如何看待Android开发,为什么不接触IOS呢
  • 刚开始工作压力会很大,你有没有想过怎么处理压力呢
  • 反问
  • 有没有健身房
  • 有住房补贴或者房源推荐吗
  • 招多少个Android应届生呀
  • 应届生培养方案
  • 为什么来美团?你对美团技术团队的了解有多少?

美团4面面试题完整答案+解析:

被字节惨虐后,我是如何拿下美团offer?

(1)第一步是关键:调整心态

由于字节跳动面试没有通过,所以多少都受到了一些影响,所以接下来的面试中,最关键的一步就是要调整自己的心态,以防被自己的消极心态所影响,因为一旦从心底否定了自己,面试过程中就容易出现语言不流畅、说话没逻辑、条理不清晰、回答不全面,这都是面试中很多面试者容易出现的“致命伤”,所以调整心态,沉着冷静地面对是非常重要的。

(2)第二步要梳理:Android核心知识点(15天时间,读完这本pdf)

关于第二步要梳理,实际上就是面试过程中,发现自己的知识储量是比较杂乱的,不知道面试官下一个会问什么,所以对于Java 的知识点有一个清晰的梳理是很有必要的。关于Java核心知识点,手上也有一本整理好的pdf文档,需要这份文档的可以直接我私信获得~

这份文档涵盖了很多知识技术点,囊括了Activity、数据储存、屏幕适配、消息机制、线程异步、webview、进程、ipc、数据储存等大量知识点,每一个知识点都有非常详细的解析。

(3)第三步要飞跃:恶补+刷题

关于第三步,就是要做到让自己有一个质的飞跃。对于恶补和刷题这两个方面,我自己也整理了我个人的一些资料,也是我自己的一些做法,希望具有参考性:

  • 大厂面试题题库:BAT、字节跳动、美团、网易、拼多多、滴滴等

结尾:锦上添花

以上文章内容中所谈及到的面试资料、学习资料、学习笔记等等,均可以免费分享,需要这些PDF的小伙伴,直接(点击我)免费领取哦~

代码改变世界,要早日成为明日大牛,程序员肩上的担子可是很重啊。趁现在开始,还不晚!

最后祝愿你也能顺利拿下大厂offer,共勉!