Android客户端——秋招总结

Android客户端——秋招总结

一.面试准备

Android客户端——秋招总结_第1张图片
和春招准备相比,多了如下内容:

  • 腾讯实习经历:androidq适配
  • Android Audio系统源码
  • Android Surface系统源码
  • 剑指offer大部分题思路
  • android 各版本变化

二.秋招回顾

总的来说

  • 腾讯转正成功,9.16发的意向书。
  • 上海抖音经历4面技术面+ hr面。9.5发的意向书
  • 阿里本来只用终面的,后来hr搞错流程,现在面了3面,还在等待后续通知。
  • 有道面了两面,终面需要现场面。放弃
  • 猿辅导笔试挂

三.抖音面经

一面 30min

  • ArrayList和LinkedInList区别,是否线程安全
  • 如果保证上面的线程安全
  • volatile
  • 原子性和可见性的区别
  • synchronized如何保证原子性
  • 四种引用
  • GC
  • Handler(loop死循环,如何唤醒,定时任务的实现)
  • 事件分发
  • binder(如果实现数据传输,服务端在哪个线程接收数据)
  • http如果维护状态
  • http如何实现缓存
  • RSA加密的原理

二面 40min

  • 问实习经历
  • 遇到的困难
  • final关键字修饰方法,变量,类有什么作用
  • final修饰变量的时候,真正的含义
  • 内部类为什么要用final修饰变量
  • hashmap hasTable ConcurrentHashMap的区别
  • activity的四种启动方式
  • activity启动方式singleInstance在什么情况下被使用
  • 启动另一个app的activity发生了什么
  • activity中包含一个ViewGrop,ViewGrop里面包含一个button,手指在Button中心放着,慢慢移动到button外这个过程中发生了什么?
  • 上面那个是否会调用button的onClick时间
  • 包装类和基本数据类型的区别
  • 包装类的两个相同数值的对象是否想等
  • Android View有哪些标签,都有什么作用(除了include其他全忘了)

三面 1h

  • 自我介绍
  • js语言语法(只会简单的,然后面试官放过了我)
  • 百度项目
  • 语音流如何保证顺序
  • android q的适配
  • 语音SDK的实现
  • jetpack是什么
  • livedata是什么
  • viewmodel是什么
  • kotlin语言语法(网络)
  • 如何学习android
  • 组件化相关
  • gradle的作用,构建过程
  • 项目遇到的难点
  • 滑动冲突的解决
  • rxjava的基本原理
  • Retrofit的基本原理
  • Retrofit对于反射注解的有什么优化
  • Okhttp的拦截器链的设计模式
  • 责任链模式在哪里还有使用
  • 算法:两个链表是否存在公共节点,找到第一个公共节点

四面 42min

  • 很多和技术无关的内容
    • 学校经历
    • 为什么学习android
    • 如何带下一届
    • 开过那些印象深刻的分享会
    • 实验室大四的就业
    • 如何学习android
    • 后续个人发展
  • retrofit的实现
  • 注解的原理
  • 如何自己实现注解
  • rxjava的原理(背压的实现,操作符的实现)
  • android q的适配
  • 最近复习了那些
    • audio
    • surface(大概讲解,surfaceView和普通view的区别)

三.有道面经

一面: 40min

  • 算法:翻转数字
  • 泛型知道多少
  • 泛型的继承
  • 泛型的通配符
  • 泛型的T
  • 两个线程去访问同一个对象的两个synchronized方法是否互斥(互斥)
  • 在什么情况下不互斥
  • 如何访问两个非静态方法不互斥
  • 如何访问两个非静态方法里的代码端互斥
  • volatile的原理
  • 如何保证int的原子性
  • okhttp的源码分析
  • 百度实习经历
  • 百度实习经历收获
  • 一个app存在两个进程,app的application会初始化几次
  • 两个进程访问同一个单例是否有问题
  • 讲讲单例模式
  • 懒汉饿汉
  • 锁膨胀

二面 42min

  • 撕简单算法。AAAA VBBB DDD给这样一个字符数组。每个单词之间保留一个空格,首字母大写,其他小写
  • 说腾讯实习经历
  • android q的适配
  • 沙盒模式
  • 说百度实习经历
  • app启动
  • view渲染 surfase
  • ipc binder机制
  • 解数独

三面 需要现场面,放弃

四.阿里面经

因为春招拿过阿里的意向书,本来只用终面,后来因为hr的原因,重回秋招流程

一面:

  • 百度实习项目语言助手sdk的维护
    • 有没有了解过录音(完整的梳理下audio系统)
    • 小度小度的唤醒实现(跨进程的生产者消费者)
    • 杂音的消除
  • 腾讯实习经历
    • 做什么
    • android q的适配
  • android权限的分类
  • android唯一标识符
  • tcp三握四挥
  • http 1.0 1.1 1.2变化
  • udp tcp区别(可靠性即保证,面向连接)
  • http https端口号(80 443) 23端口号对应的地址
  • https的握手
  • https的证书
  • 以前用过哪些抓包工具
  • 中国墙的实现(https://www.cnblogs.com/weicyNo-1/p/8125763.html)
  • 你知道哪些编码集和编码方式
  • utf-8,unicode的区别
  • 大小端存储
  • 介绍一种快排算法(快排,快排优化https://blog.csdn.net/qq_38289815/article/details/82718428)
  • 介绍一下自己的亮点

二面 + 三面:

  • 很多技术无关问题,就没有做记录
  • 实习相关内容
  • android q的适配
  • 其中一个bug的解决

你可能感兴趣的:(随笔)