前言
我觉得每一个程序员的梦想大概就是能够找一份大厂的 Offer,我觉得这很正常,这并不是我们的饭后谈资而是每个技术人的追求。
像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻炼几年,相信对自己能力的提升还是非常大的
但不是每个人都能够进入大厂的,这往往取决于我们的能力、学历、面试表现等因素。
想要通过大厂的面试,前期准备少不了!
各大厂中,我比较熟悉的是阿里和字节跳动,先后整理了他们的面试题,尤其是字节跳动2017-2019的面试真题,整理好成354的文档后分享给了许多朋友,
就有一个朋友,在面试腾讯和京东失败后,凭借这个文档,去面了字节的抖音,拿到了offer,现在,也把抖音的面试题分享出来,希望在大家面试大厂提供一些帮助。
面试
字节抖音一面(面试时长50min)
- 接口和抽象的理解
- 进程和线程的理解
- 各种单例创建的理解,以及DCL的同步机制为什么这么做,其他的设计模式知道的,以及应用场景。
- MVP和MVVM的理解,P层它主要做什么工作,你如何实现的M、V、P三层的通信。
- Handler的工作流程,Handler能否在子线程初始化以及用什么方案来替代Handler的在子线程初始化。
- JVM的组成成分,以及你对四大引用的理解
- 四大启动模式的启动方式以及场景分析,如果一个按钮对应页面跳转,如何点多次只进行一次跳转,两种方式回答
- 对http和https的理解
- Broadcast和LocalBroadcast他的一个区别
- Static变量他的用处是什么,具体应用场景。
- 一道两个链表的相加问题。思路+伪码实现(这里和阿里不一样,因为是牛客的平台,其实编码体验没有特别好,面试官让我用伪码来实现思路就可以了)
字节抖音二面(面试时长70min)
- 先自我介绍,问项目,老样子的MVP、MVC的理解,Handler中的内存泄漏
- 重点要讲Handler的内存泄漏,为什么会引起内存泄漏?(源码角度分析)解决方案有哪些?(说了三种)
- 为什么我的库中的MVP要基于范型实现,实现思路,还有泛形擦除(主要说了公共逻辑抽离这一块的内容)
- 对View自定义的一个了解
- 基于对网盘的理解,让我分析上传、下载这两块的内容,让我来做,会做什么样的处理,启发内容见下文:
- 关于上传方面:定时上传和立刻上传两方面的分析,针对的是数据量的大小
- 关于下载方面:线程安全(voliate / sync),线程池的使用,参数理解等等,断点重传的问题,应该怎么去进行实现。
- 还有整个的如果Activity突然断了,或者被kill了,如何对数据或者下载的位置进行保存
- ButterKnife原理实现
- 一道深度遍历和公共节点寻找的题(给出了复杂度极高的方案,面试官给了好的方案,但是问题停留在了公共节点寻找)
字节抖音三面(面试时长70min,有概率通,要等hr)
- 问了项目架构,觉得项目有什么样可以升级的地方
- 泛型擦除,通配符的问题,主要做了extends和super的回答
- 从哪里了解的objectBox,和greenDao相比觉得他有什么样的优点,性能有进行过测试嘛(只看过官方数据),图像加载框架的选用。
- 从内存泄漏问题推倒到jvm的深层次问题,可达性分析的GC Root有什么,虚拟机栈和堆的关系,方法是怎么实现的。
- 问我觉得自己的优势是什么,说了我对一些框架的理解
- 对Kotlin和Flutter的一个了解程度的理解,还有为什么学习的一个现实原因,和学习方法。
- 数学题了,类似于斐波那契数列,但是关系式还没推倒出来。
- 用循环的方式去实现一个先序遍历,说的一些方案不用写代码。
面试题是开放的,就没有特意准备答案了,但是字节跳动面试真题解析&简历制作PDF模板可以全部免费分享给大家
注意:字节跳动Android面试真题解析、简历制作+春招困惑解答+经典HR面试解析的朋友,可以直接简信我【字节跳动】
针对字节跳动的面试题整理的,进行了分类,循序渐进,由基础到深入,由易到简。
将内容整理成了五个章节、计算机基础面试题、数据结构和算法面试题、Java面试题、Android面试题、其他扩展面试题、非技术面试题总共五个章节354页。
每个问题都附上1个标准参考答案,都是反复摸索消化(真心花了很多时间),觉得写的比较好的文章作为答案。
来节省大家自己去搜索的时间,把时间用在正确的东西上。。
还整理了全套简历制作、春招困惑、HR面试等问题解析参考建议。
【字节跳动面试真题解析&简历制作PDF模板】免费领取:关注我看个人介绍,或直接 点击我
网友评论