字节跳动头条客户端实习面经(3轮技术面+一轮HR面)已OC

非常感谢牛客这个平台,通过在上面看一些大家分享的面经,也收获颇丰,所以就回馈一下牛客啦!

如果文章对您有一点帮助的话,希望您能点一下赞,您的点赞,是我前进的动力

技术面一面 时长 47 分钟(视频面试)

有些问题忘记了,记忆中就只有这些内容

  • 自我介绍
  • 项目有没有上线
  • 项目难点
  • DialogFragment 内存泄漏的定位过程
  • Leakcanary 的原理
  • Handler 介绍一下
  • Handler 内存泄漏说一下
  • 说一下设计模式
  • 手写单例
  • 算法:112. 路径总和

技术面二面 时长 48 分钟(视频面试)

  • 自我介绍
  • 介绍一下项目
  • 软件大概样式是怎样
  • 首页是怎样做的
  • 首页下拉刷新是怎么做的?(说了滑动冲突的处理)
  • view 事件分发机制怎样
  • 事件好几层,怎么知道是由哪个控件处理(说了根据触摸的位置啥的,不太了解对不对)
  • 提到了责任链,内部链怎么分发的
  • 怎么判断哪个 view 处理(根据 return true/ false
  • 我们的事件有action_move,action_down,action_cancel,所有的事件都是一层一层往下分发吗(说了不一定,down 被拦截了,后续就收不到其他的事件了,然后提到了 action_cancel 的机制)
  • 我听到你首页用了 recyclerView ,那他一般怎么用?
  • 提到了 adapter
  • adapter 用来干嘛?
  • adapter 中有哪些是主要方法(说了 bindView ,这块不太记得了,说项目中用到的是 BRVAH
  • 提到了 ListView
  • 为什么用 Rv 不用 Lv(说了1.强制实现 viewHolder (避免 findViewById ) 2.缓存机制)
  • Lv 二级缓存怎么判断这个 View 是他要的?(答了 postion,id
  • 然后问 id 指的是?(这里说忘记了)
  • 四级缓存是怎么找到 view 他要的?(说了 itemType
  • 如果有相同的 itemType 怎么处理?(说了直接使用任意一个)
  • 如果四级缓存中找不到呢?(说了手动加载)
  • 手动加载是哪里来的?(说了从布局 xml 中定义的 itemtype 中拿的)
  • xml 怎么关联到 Rv (加载代码 inflate 的,不太了解)
  • 堆内存和栈内存区别
  • 5层网络协议包括哪些?
  • tcp 三次握手说一下
  • equals== 区别
  • hashmap 实现原理(说了基本结构,put
  • get 是怎样实现的

智力题:

  • 5升桶,3升桶,水无限,你给我装出4升水

算法:82. 删除排序链表中的重复元素 II


技术面三面 时长 37 分钟(视频面试)

  • 自我介绍

  • 架构设计主要是什么

  • 说一下你提到的依赖倒置

  • 除了依赖倒置还有什么重要的原则(刚说完单一职责就被打断)

  • MVP注意事项(说了内存泄漏的处理)

  • 内存泄漏的原理

  • 怎么判断内存不能被释放

  • 如何检测内存泄漏(说了线下用 LeakCanary,线上用 Memory profiler,然后自己扯到 DialogFragment 内存泄漏)

  • 打断,问 final 作用(说了修饰类,方法,变量,作用)

  • 非静态内部类引用外部类对象,需要 final 关键字吗?(说了应该用 static ,转为静态内部类,防止内存泄漏)

  • 多线程使用过吗

  • 说一下线程池的使用(刚说了构造方法实现)

  • 核心线程数什么作用(说了线程池的运行流程)

  • 核心线程数和最大线程数的设置(IO 密集型和 CPU 密集型,最大线程数的话,看系统支持的并发量)

  • 一个进程有多少个线程?(说了空间允许的范围内可以一直开辟)

  • 实际上是多少?(说了 2g 分配的空间)

  • 为什么是2g(说了之前看过,具体原理不太清楚)

  • 一个异步任务都开一个线程,还是多个任务开一个线程,你怎么决定开不开?(说了耗时的话就开,不太耗时不开,因为线程切换调度的话,存在一定的开销)

  • 线程安全怎么保证?

  • syncronized 内部原理是什么(说了修饰静态方法和非静态方法,代码块)

  • 修饰静态方法和非静态方法,能够并发执行吗?(可以,因为他们锁的对象不一样,说到了死锁)

  • 死锁的原理是什么?

  • 出现死锁怎么排查(这个不太会,说了用 jvm 中的 jstack

  • 追问怎么用?(说没用过,只是知道)

  • 问我他的原理是什么?(不太知道,说看 traces.txt ,看堆栈)

  • 怎么安全停止一个线程(说了用 volatile 修饰变量,通过 while(变量),手动设置 true false

  • volatile 原理是什么?(说了 java 内存模型啥的,修饰特性啥的)

  • 网络了解吗

  • tcp 优点(可靠性,面向连接)

  • 面向连接是什么?(说了计算机通信前建立连接)

  • 面向连接和非面向连接的本质区别是什么?(乱答,不知道)

  • 拥塞控制原理

  • httpudp 区别(说了层数)

  • http 请求流程

下面开始聊天了

  • 反问:

HR 面(24分钟)

  • 你是周一面的三面,这几天关于面试你是怎么考虑的?

  • 周一面试完,周四周五才给你反馈,有考虑过面试不通过吗

我说周二就给我反馈了

  • 面试感受如何?

  • 你对面试做了什么准备

  • 客户端基础知识方面的话,你是怎么复习和准备的?

  • 有做一些刷题吗?

  • 字节算法这块,难度怎么样

  • 距离毕业还有一年半,你怎么规划这段时间

  • 你们是信息安全专业?应该不是计算机专业的同学吧

  • 你是什么时候考虑转开发

  • 你是大一就打算做开发?还是说进到工作室后,受到师兄的影响才转开发?

  • 介绍一下工作室

  • 配合方式是怎样的?

  • 说一下影响比较深的项目

  • 主要是客户端做?还是前端后台都有?

  • 这个项目你们老师也是怎样评价的?

  • 团队协作有没有遇到比较难推进的时候?

  • 你会主动去配合团队吗

  • 自己学习或者工作,怎么安排时间?

  • 工作的时间占你一天多少时间?

  • 任务你是怎么管理

  • 你的方法论挺好的,你提到的日程管理软件是哪个?

  • 旁边人用哪几个词语评价你

  • 你的优点缺点分别是什么?

  • 有遇到压力特别大的时候吗?

  • 你在学校成绩怎样

  • 你对自己的未来的规划

  • 什么时候能来?能来多久

  • 学校课程怎样

  • 反问

#实习##面经##字节跳动##安卓工程师#
全部评论
这完全不像实习的难度
5 回复
分享
发布于 2021-04-13 11:52
想投递字节跳动的也可以私聊我哟😁
点赞 回复
分享
发布于 2021-04-13 12:58
联想
校招火热招聘中
官网直投
hr面写的真的好详细
点赞 回复
分享
发布于 2021-04-13 14:45
老哥base是在哪的,截止投递日期是多少😂躺尸两星期想复习一下先
点赞 回复
分享
发布于 2021-04-13 16:07
明天面试,看了这篇面经人都傻了。
点赞 回复
分享
发布于 2021-04-13 16:08
字节等我!
点赞 回复
分享
发布于 2021-04-13 19:57
想问一下字节客户端开发会问很多Android知识嘛?还是会C++和计网操作系统比较多
点赞 回复
分享
发布于 2021-04-15 22:56
算法题智力题都做出来了吗
点赞 回复
分享
发布于 2021-07-15 15:11

相关推荐

10 53 评论
分享
牛客网
牛客企业服务