新人报道,没有什么可分享的,就记录一些本人求职的领会和心得。
我是在校招补录的时候加入了今日头条的招聘,岗位是 Android 开发,最初胜利拿到了入场券。然而这也丝毫不值得自豪,大家都晓得:技术突飞猛进,要是几个月不更新本人的技术栈,就会被时代淘汰。
(更何况大佬那么多,我不过是个才入门的小弱鸡~)
以下是我总结进入头条的两大决定性因素:
一是,刷面经和口试题十分要害。你将会在收集材料的过程中理解到头条系的情况,具体岗位所面临的问题和笔面试的风格特征,做到有恃无恐。
二是,面试官会更偏爱逻辑思维强的人,因为这种人往往能一下子抓住问题的重点,思维更加谨严,做事更加高效。
(题目程序有些不分先后,但大抵有序)
一面
都说字节的面试难度偏高,带着忐忑的情绪来到面试,没想到面试官是一个和颜悦色的爷爷型面试官,很快放稳了心态,开始面试。
- 上来先惯例自我介绍而后讲我的项目
- recyclerview 的缓存机制
- glide 的缓存机制
- 从 glide 缓存的 lruCache 登程让我讲一下本人怎么实现,一开始只说到了链表,起初面试官揭示效率,于是答复到了 linkedHashmap
- glide 缓存的弱援用说到安卓四大援用还有在我的项目中的应用
- hashmap 问得比拟具体
- == 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 协程「挂起」的实质
10. 资源混同是如何影响到 Kotlin 协程的
网络相干
1.(倡议精读)HTTP 灵魂之问,坚固你的 HTTP 常识体系
2.HTTPS 原理浅析及其在 Android 中的应用
3.HTTP 断点续传(分块传输)
4.HttpDns 原理是什么
5.《客厅 TV-APP HttpDNS 技术接入与实战》
6.HttpDns 接入以及全局替换的实现
7.TCP、UDP、HTTP、SOCKET 之间的区别
8.TCP 与 UDP 的区别
插件化 & 热修复 & 模块化 & 组件化 & 增量更新 &Gradle
1.Android 插件化库比拟
2. 深刻了解 Android 插件化技术
3. 插件化(不同插件化机制原理与流派,优缺点。局限性)
4. 热修复
5. 模块化实现(益处,起因)
6. 我的项目组件化的了解
7.Android Gradle Plugin 源码剖析
8.Android Gradle Plugin 源码浏览与编译
笔记内容全副收费分享,有须要完整版笔记的小伙伴【点击我】收费获取哦!
图片相干
1、图片库比照
2、LRUCache 原理
3、图片加载原理
4、本人去实现图片库,怎么做?
5、Glide 源码解析
6、Glide 应用什么缓存?
7、Glide 内存缓存如何管制大小?
8.Fresco 图片框架外部实现原理摸索
Flutter 相干
1.Flutter 原理与实际
2. 揭秘 Flutter Hot Reload(原理篇)
3.Flutter 动态化摸索
4.Flutter 如何和 Native 通信 -Android 视角
5. 深刻了解 Flutter Platform Channel
6.Flutter Engine 编译指北
7. 深刻了解 Flutter 多线程
8.Flutter 状态治理 – 初探与总结
9.Flutter | 状态治理指南篇——Provider
10. 深刻了解 Flutter 利用启动
11.Flutter 渲染机制—UI 线程
因为篇幅限度,文档的详解材料太全面,细节内容太多,所以只把局部知识点截图进去粗略的介绍,每个小节点外面都有更细化的内容!
笔记内容全副收费分享,有须要完整版笔记的小伙伴【点击我】收费获取哦!