一面 10.19
- ✔ 编程题:删除单向链表倒数第n个节点
- ✔ Flutter和其他跨平台框架有什么区别?
- ❌ AtomaticInteger是如何实现的?
- ❌ getStorage持久化存储在本地的文件格式是什么样的?怎么从磁盘中读取的?
- ✔ 在主线程中进行IO操作可能出现什么问题(ANR)?在子线程中操作会有吗?
- ✔ MMKV和SharedPreferences的区别
- ❌ 用protobuf数据协议和SharedPreference的区别
- ✔ HTTP协议的常见响应码
- ✔ HTTP三个版本之间的区别
- ❌ Android中跨进程通信的几种方法,几种方法之间的区别(binder和消息队列)
- ✔ MQTT基于TCP还是UDP,MQTT的优势
- ❌ 用TCP可以做推送吗?还有哪些协议可以推送?
- ❌ 图片加载器用过哪些?Image.network源码看过吗?
- ✔ Android中的数据库如何使用?
- ✔ HashMap和ConcurrentHashMap的区别
- ❌ HashMap和LinkedHashMap的区别
- ✔ 多线程同时访问HashMap可能会发生什么问题?
- ✔ Java中sleep()和wait()的区别
- ✔ 悲观锁和乐观锁
- ✔ 项目中用拦截器做了什么
- ❌ 自己的项目中token有几级,多久过期
- ✔ 项目中的基于拓展方法做屏幕适配
- ✔ HTTPS加密过程,为什么要混合加密
- ❌ 如何知道服务器发来的证书是合法的?
反问,可以再加强算法数据结构、网络、操作系统,一些常问的问题。
二面 10.26
场景拷打穿插八股,逮着简历上写的一个下载器问,问的很细。
面试官没开摄像头,上来就问我实习公司的规模,是不是去的外包公司,我直接???
而且很多时候感觉她没理解我说的东西,问的一些问题也奇奇怪怪的,我之前的回答都说了,结果又问一遍。面试体验不太好。
- ✔ 为什么放弃转正?
- ❌ 下载器的设计架构?用了什么设计模式
- ✔ 单例如何保证对象只被创建一次
- ✔ volatile的功能
- ✔ 什么是线程和进程
- ❌ Flutter下载没有用到多线程,是如何让主线程不卡死的?
- ✔ 实现一个安卓的下载管理器怎么做
- ✔ 下载完成是如何通知主线程的?
- ❌ CPU是如何调度线程和进程的?调度算法?
- ❌ 进程切换开销比线程切换开销大的原因
- ❌ 死锁条件
- ✔ 有哪些锁
- ✔ 使用自旋锁的场景,有什么优点和缺点?如何避免缺点
- ❌ 用过哪些设计模式?工厂模式的应用场景和设计理念?
- ✔ HTTPS相关?如何确认证书的合法性?
- ❌ HTTPS一定安全吗?是否有漏洞?
- ❌ 抓包原理?如何抓HTTPS
- ✔ 网络请求涉及的整个流程
- ❌ DNS会带来哪些问题?DNS劫持是怎么做到的?如何解决?
- ❌ 如何提升HTTPS请求速度
- ❌ 多路复用的原理
- ✔ HTTP2.0 和 HTTP3.0 的区别
- ❌ HTTP3.0 QUIC为什么更快?如何实现可靠性的
- ✔ 下载器缓存策略,如何做本地持久化
- ❌ 图片加载缓存原理,LRU,如何实现图片缓存,用什么数据结构?
- ✔ 哈希表原理
- ❌ Android中解决哈希冲突的方法
难度挺大,出现了好多之前没问过的,像线程调度、HTTPS抓包、DNS劫持、LRU。
已挂。
一面 11.9 iOS
之前随手投的iOS开发,居然发笔试了,做完又给面试了。
- ✔ 对iOS方向怎么想
- ✔ 为什么选Flutter而不是其他跨端框架
- ❌ Flutter的劣势?RN的优势?
- ❌ MQTT订阅发布步骤?为什么MQTT比HTTP更稳定
- ❌ TCP和UDP的区别
- ❌ 多路复用是什么
- ✔ 基于流和基于报文的区别
- ❌ 接收方如何知道发送方流数据的总大小?如何知道从哪一位字节开始?
- ✔ 有直接用TCP实现过连接吗
- ✔ 端口是什么?服务器和客户端的端口分别有什么用?
- ✔ 除HTTP、MQTT外其他的建立连接的方式
- ❌ 服务器如何主动给客户端推送消息?
- ✔ MMKV的优势
- ❌ 了解过mmap吗?
- ✔ DNS
- ❌ HTTPS抓包
- ✔ HTTPS加密过程
- ❌ 如何判断证书是否合法
- ✔ 进程和线程的区别
- ✔ 哪些部分是线程私有的?哪些是线程共享的?
- ❌ 线程间通信的方法
- ✔ 消息队列如何实现进程间通信
- ✔ 什么是管道,常见的管道,Linux中的管道符
|
- ✔ 线程安全,有哪些锁
- ✔ 编程题:手写快排
反问:无iOS经验影响大吗?
答:没什么影响,受限于设备原因大部分校招生都没啥iOS的经验。
反问:哪部分比较薄弱?
答:计网的一些细节,某些特性是属于TCP还是HTTP有些记混了,MMKV原理和mmap可以去了解