双非本科字节跳动Android面试经验和心得体会分享(已拿offer)

  • == equals

  • handler机制

  • 算法题是两个升序链表合并

总的来说这次面试体验还是特别不错的,面试官问的问题感觉一层套一层,往往在回答中说到了某个知识点,接着下个问题就会以这个知识点开始。

当天面试由于比较紧张,让两个小伙伴给我面了两个小时,口干舌燥的参加面试,脑子也比较乱哄哄,handler的一个简单问题总是集中不了精神,还好面试官比较有耐心没有给我提前结束。

隔了7天的早上收到了二面通知,冲!

二面

下午6点钟开始面试,面试官不苟言笑显得非常专业,简单调试之后开始面试。

  • 先是常规自我介绍+项目

  • Glide缓存

  • 图片优化(讲了项目里面oss存储的取缩略图方法,还有Bitmap相关的decodeResourse方法相关)

  • Bitmap

  • Glide中的LruCache以及实现

  • 讲几个熟悉的数据结构(把整个Collections和Map讲了个遍)

  • LinkedList查找优化

  • 追问HashMap

  • TreeMap中红黑树

  • SparseArray

  • 算法题是ipv4地址转32位int输出(不会位操作符然后面试官提示用了乘2的方法)

  • ipv6

  • TCP

  • http几个版本的不同

  • https

  • 对称加密、非对称加密

  • RSA实现😇

  • 安卓中网络请求子线程回调UI线程怎么弄(runOnUIThread、Handler)

  • 多线程

  • 线程池

  • 操作系统中的线程竞争问题

  • synchronize

  • 自旋锁

  • volatile(原子性?)

  • CAS

总用时90分钟。

这次面试依然感受到了字节面试官的耐心温柔与专业,卡住时面试官会引导问题的回答,总体感觉如沐春风,不知不觉就一个半小时了。面到一半面试官说看得出来我准备了很多(内心两行泪,确实是背地里刷了上千道面试题)

最后聊了聊部门的工作方向和工作时间安排,面试很顺利。

三面

  • 自我介绍,介绍了自己实习写的刷新加载的组件

  • 问我自己组件里怎么解决的嵌套滑动冲突,三个方面实现完美分发事件

  • retrofit 动态***里面如果传的不是 interface 怎么办,这块我不清楚,我就直接说不太清楚,然后说了 retrofit 关于注解的处理

  • 注解生命周期,编译时注解解析

  • 你用过 weex,说下weex实现原理,我说我没有看过 weex 源码,但是我实现过一个动态页面渲染框架,说了下我的渲染过程和实现方案。

  • 最近想学的技术,说了音视频,但是因为准备秋招放下了

  • 为什么想学,说了自己之前做一个 APP,里面播放器无法使用没认证的 Https 请求,打算自定义一个播放器,在底层处理证书这块,然后在说了下不知道这样的方案可不可行。

  • okhttp 里面怎么认证的, 说了拦截器

  • ConcurrentHashMap 同步方案, 然后问了 CAS

  • 环状链表

隔了两天查到了到HR面的通知,内心又高兴又打问号,自己都不知道自己怎么过的。

HR终面

  • 询问了除字节跳动以外,还在看其他工作机会么?分别是什么

  • 字节、XXX公司、XXX公司,你的优先级是什么,为什么?

  • 实习薪资待遇是多少?你期望的薪资是多少?

  • 平时有什么爱好?

  • 了解职位需求吗?

  • 有没有想问的?

面试总结

总的来说,自己如果有想要去的大公司,一定要提升好自己,技术能力的高低能决定你走多远,平台的高低,能决定你的高度。我也一直相信,机会永远是留给有准备的人。

在字节面试前我也准备了很久,刷了超多2020年最新的大厂面试真题,整理出了一份一线互联网面试最新全套真题解析,知识点整理出来分享给大家:

笔记内容全部免费分享,有需要完整版笔记的小伙伴【点击我】免费获取哦!

Android 相关


1. Android 之 SharedPreferences 内部原理浅析

2. Android 源码分析-消息队列和 Looper

3. Android 源码分析—带你认识不一样的 AsyncTask

4. Android 性能优化之使用线程池处理异步任务

5. Android Context 完全解析,你所不知道的 Context 的各种细节

6. LocalBroadcastManager 的实现原理,与 BroadcastReceiver 异同

7. Android进程间通信(IPC)机制Binder简要介绍和学习计划

8.Activity的启动方式和flag详解

9.Android源码分析-资源加载机制

10.Android中Thread、Handler、Looper、MessageQueue的原理分析

11.Android 源码解析 之 setContentView

12.Android AsyncTask 源码解析

13.Android IntentService完全解析 当Service遇到Handler

14.深入剖析 Android中的 ArrayMap

360 °全方面性能调优


1.设计思想与代码质量优化

2.启动速度与执行效率优化

3.布局检测与优化

4.内存优化

5.耗电优化

6.网络传输与数据存储优化

7.APK大小优化

8.开发效率优化

9.项目实战

笔记内容全部免费分享,有需要完整版笔记的小伙伴【点击我】免费获取哦!

Java 相关


1.Java 四种线程池的用法分析

2.Java 有几种文件拷贝方式?哪一种最高效?

3.使用 FileChannel(文件通道)来实现文件快速复制

4.JVM 类加载机制详解 JVM 类加载过程

5.JVM 类加载机制详解类加载器与双亲委派模型

6.Java 实现线程同步的几种方式

7.Java IO 流之字节流与字节缓冲流

8.Java内存管理:深入Java内存区域

9.Java垃圾回收

10.Java中的ThreadLocal

Kotlin 相关


1.从原理分析 Kotlin 的延迟初始化: lateinit var 和 by lazy

2.From Java To Kotlin

3.怎么用 Kotlin 去提高生产力:Kotlin Tips

4.使用 Kotlin Reified 让泛型更简单安全

5.Kotlin 里的 Extension Functions 实现原理分析

6.Kotlin 系列之顶层函数和属性

7.Kotlin 兼容 Java 遇到的最大的 “坑”

8.Kotlin 的协程

9.Kotlin 协程「挂起」的本质

最后

答应大伙的备战金三银四,大厂面试真题来啦!

这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

《960全网最全Android开发笔记》

《379页Android开发面试宝典》

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

腾讯、字节跳动、阿里、百度等BAT大厂 2020-2021面试真题解析

资料收集不易,如果大家喜欢这篇文章,或者对你有帮助不妨多多点赞转发关注哦。文章会持续更新的。绝对干货!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

链图片转存中…(img-kpxc2VAA-1714578201353)]

资料收集不易,如果大家喜欢这篇文章,或者对你有帮助不妨多多点赞转发关注哦。文章会持续更新的。绝对干货!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值