当前位置:网站首页>2022年字节跳动日常实习面经(抖音)
2022年字节跳动日常实习面经(抖音)
2022-07-04 16:55:00 【古嘉明同学】
6月份太忙了,这个月就不更新技术文了,给大家分享一篇字节跳动客户端面经,希望对大家有所帮助~
整体时间线
- 6月6号,字节官网内推投简历。6号晚上21点02分,HR电话约一面,约的15号晚上17:00面试。
- 6月15号晚上17:00一面,时长一小时。
- 6月16号中午11:08分,HR电话通知一面过,约了6月20号晚上19点二面。
- 6月20号当晚,18:48分 HR 小姐姐打电话通知,面试官在开会,需推迟15分钟,改为18:15分二面,面试时长75分钟。
- 6月21号中午11:20左右,HR小姐姐加我微信,我以为幸福来了,结果是来约我明天三面的-_-!。约的22号下午18:00点面试。
- 6月22号晚上18:00三面,时长一小时。
- 当晚,22号晚上8:20,HR来电话,流程走完了,约了明天下午16:00HR面。
- 23号下午16:00HR面,时长45分钟。
- 24号中午13:00得知面试已通过,offer审批中。
一面:飞书视频面,一小时
简单介绍一下自己
做项目过程中遇到的有挑战性的事情
挖简历上的两个项目
- 第一个项目:
光效页下载20多组帧图优化场景:考虑用一个队列,每次同时下几张,代替for循环。
广告页需求:闪屏文件下载时机?
- 另一个项目,简单问了下聊天数据存在哪里?
SharedPreference 内部原理,为什么性能不好?
Activity的生命周期,一个Activity打开另一个Activity经历的生命周期,启动一个透明Activity会经历的生命周期。
Activity启动过程。
用过内存泄漏的检测工具吗?LeakCanary原理介绍一下?为什么LeakCanary要手动调用一次gc()?
GC回收机制?
View事件分发机制?父类拦截了down事件后,子类还可以接收到事件吗?
写一个线程安全的静态内部类单例。
为什么不加volatile关键字会有线程安全问题?
volatile关键字如何保证可见性和原子,其原理是什么?
算法:接雨水
提问环节:
我今天面试表现如何?
- 还不错,基础挺好的。
对我有什么建议或哪里有需要改进的地方?
- 整体还不错。
部门base在哪里?
什么时候能出面试结果?
- 等HR通知
二面,飞书视频面,75分钟
简单介绍下自己
聊项目,在DNF助手项目中做了哪些业务?业务的具体场景?
项目中是用什么图片加载库进行加载的?如果让你实现一个图片加载库,你要怎么考虑?
- 缓存策略:内存+本地存储。
- 如何清除本地中过期的图片?缓存图片时,给缓存路径添加上图片的有效时间,当下次用户使用图片加载库的时候,对过期的图片进行清理。
- 线程池
项目有使用列表的场景吗(RecyclerView),RecyclerView的内部原理说一下(缓存策略)?
对于不同类型的子View,RecyclerPool缓存池可以复用吗?
- 在 RecyclerPool 中,用两层列表来存放可以复用的HolderView。第一层通过viewType获取到指定类型的复用列表。第二层就是对应类型的可以复用的holderView。第二层列表的大小默认是5。
- 所以答案是,不同类型的holderView,存放的是不同的缓存池,所以不可以相互复用。
你在使用RecyclerView时,具体从哪几个方面优化RecyclerView页面的性能的?
- 从子View的Xml结构入手,考虑怎么优化View的层级,减少View的测量消耗。对于能够缓存的数据尽量进行缓存。
- 如果页面用户滑动的非常频繁,可能需要定制RecyclerView的缓存池大小。
你刚提到View的测量消耗,能具体说说怎么优化吗?
- 尽量减小子View的层级,不同的ViewGroup它的测量过程也是不一样的,比如,简单布局下LinearLayout的性能比RelativeLayout更高。
接着问到View的测量过程,顶级View的MeasureSpec对象和子View的MeasureSpec对象如何创建?View测量完之后的测量过程是什么?
接着两道程序题:
- 第一道与任务栈相关,考察Activity的启动模式:栈内复用模式,taskAffinity属性。
- 第二道多线程,问你如何让多线程顺序执行。
从第二道程序题聊到Handler机制,聊聊Handler机制的原理?Handler与Looper的对应关系?
最后,一道算法题:
给定一个无序的数组,值只会有1,2,3。要求在O(n)时间内将数组按升序排序,不可新增数据结构(数组,链表,map),允许新增变量。
即:[1, 2, 3, 3, 2, 1, 3, 2, 1] -> [1, 1, 1, 2, 2, 2, 3, 3, 3]。
思路是:只需将所有最小的1移到数组最左边,将所有最大的3移到数组的最右边,即可满足一次遍历完成排序。维护两个索引,第一个索引维护数组左边最后一个1的下一个位置,第二个索引维护数组右边第一个3的前一个位置。然后顺序遍历,对元素进行值的比较,然后交换即可。
提问环节:
我们部门具体负责的业务有哪些?base具体在深圳哪里?
我的面试表现?
后面几分钟,闲聊,面试官问到,目前有面其他公司吗,手里有几个offer?
目前我在研一,我的实习时间怎么安排?
三面,飞书视频面,一小时
第三面,我只能说,面的稀烂。
只面了2道算法题,没一道做出来的。不是题目难,是思维一下卡住了,想不到了,我崩溃了。
第一道,抽扑克,每次抽一张,然后下一张放到最后面,接着顺序抽下一张,重复以上操作。直到手中的扑克牌抽完为止。
中间还有一道:每隔k个元素,旋转一次链表。这题我会,但面试官说java没有链表,得自己实现,怪麻烦的,所以换了一道。
第二道,实现开根号。简单吧!,我没写出来,我笨啊!我是真的笨啊!
三面一小时面下来,心里只剩三个疑问:我是谁?我在哪?我要去哪里??
苦笑哇哈哈哈哈。。。
提问环节:
(面完我人都傻了,都不知道要问什么,随便问了两个问题,面试官看我情绪低落,还安慰了我一下,说还会根据其他两面的结果来看的,不一定会挂。)
我的面试表现?
有啥建议吗?
第三面后,至此就结束了吗?并没有!!
在我还在为面试表现不佳,低落情绪,准备走出宿舍找点事干分分心的时候,有个四川的电话打了过来。
四川的电话?谁啊?莫非是前几天618买的快递到了还没取,小哥给我打电话让我取一下?
随便啦,接听
“喂,你好?”
“诶,你好,请问是古嘉明同学吗?我是抖音的HR”
我的内心,嗯?!莫非?还是说这么快送感谢信来了?
“嗯,是的”
“嗯,你这边的面试流程已经走完了,接下来跟你约一下HR面噢,明天下午有空吗?”
我的内心,!!!!!!!!!!!!!!!!!!!!
“有哇有哇,明天下午我都有空!”
我的天呐!没想到居然还有下文!一定是我前两面表现的还不错,我的天呐!!!!
看上图知我心情~哈哈哈
HR面,飞书视频面,45分钟
主要是聊天。问了很多关于实习时开发项目的问题,比如你在开发这个项目时遇到的困难点?你是怎么解决的?在开发中令你印象比较深刻的环节是什么?开发过程中遇到意见不和怎么办等等。
如果时间追回到你刚开始实习那会,你会做哪些调整?
如果有两位同事争吵了,这时候你该怎么办?
你进入公司后的技术规划是什么?你觉得你进入字节后,上手项目需要多长时间?
如果你进入公司后,发现身边的人比你优秀或者说你并没有你想象中的那么优秀,你会有什么反应?
对于比你厉害的人,你是通过什么方式提升自己去追赶他的呢?学习通过什么途径?
如果你进入字节实习,你的上一次实习经历,对你在字节实习有什么帮助?
你是怎么安排你的课余时间的?
什么时候能开始实习,能实习多长时间?
目前还有在面其他公司吗?你投了哪几家?手里还有别的offer吗?
提问环节
公司的工作时间安排是如何的?
24届实习到明年时,有转正机会吗?
最后,HR面完第二天,中午得知面试已通过,查官网应聘记录流程显示,面试已完成:
兄dei,如果觉得我写的还不错,麻烦帮个忙呗
- 给俺点个赞被,激励激励我,同时也能让这篇文章让更多人看见,(#.#)
- 不用点收藏,诶别点啊,你怎么点了?这多不好意思!
- 噢!还有,我维护了一个路由库。。没别的意思,就是提一下,我维护了一个路由库 =.= !!
拜托拜托,谢谢各位同学!
边栏推荐
- [go language question brushing chapter] go conclusion chapter | introduction to functions, structures, interfaces, and errors
- 【2022年江西省研究生数学建模】冰壶运动 思路分析及代码实现
- The block:usdd has strong growth momentum
- Russia arena data releases PostgreSQL based products
- SIGMOD’22 HiEngine论文解读
- Redis master-slave replication
- Li Kou brush question diary /day1/2022.6.23
- 【2022年江西省研究生数学建模】水汽过饱和的核化除霾 思路分析及代码实现
- 网上开户安全吗?是真的吗?
- DB engines database ranking in July 2022: Microsoft SQL Server rose sharply, Oracle fell sharply
猜你喜欢
Weima, which is going to be listed, still can't give Baidu confidence
Wireshark抓包TLS协议栏显示版本不一致问题
庆贺!科蓝SUNDB与中创软件完成七大产品的兼容性适配
力扣刷题日记/day3/2022.6.25
Li Kou brush question diary /day6/6.28
Reptile elementary learning
vbs或vbe如何修改图标
[mathematical modeling of graduate students in Jiangxi Province in 2022] analysis and code implementation of haze removal by nucleation of water vapor supersaturation
Li Kou brush question diary /day4/6.26
ISO27001 certification process and 2022 subsidy policy summary
随机推荐
2022年DCMM认证全国各地补贴政策汇总
2022 national CMMI certification subsidy policy | Changxu consulting
Weima, which is going to be listed, still can't give Baidu confidence
How to open an account is safe,
[daily question] 871 Minimum refueling times
字节跳动Dev Better技术沙龙成功举办,携手华泰分享Web研发效能提升经验
Clever use of curl command
提升复杂场景三维重建精度 | 基于PaddleSeg分割无人机遥感影像
Self reflection of a small VC after two years of entrepreneurship
力扣刷题日记/day2/2022.6.24
Halcon模板匹配
With an estimated value of 90billion, the IPO of super chip is coming
How to improve development quality
Load test practice of pingcode performance test
Is it science or metaphysics to rename a listed company?
Li Kou brush question diary /day1/2022.6.23
android使用SQLiteOpenHelper闪退
力扣刷题日记/day6/6.28
1、 Introduction to C language
I always thought that excel and PPT could only be used for making statements until I saw this set of templates (attached)