腾讯安卓暑期实习三面

3/13一面 腾讯会议,共享屏幕手撕代码

  • android的handle机制,Looper关系,主线程的handler是怎么判断收到的消息是哪个handle传来的
  • Activity四种启动方式
  • android之间进程通信
  • android 的Service和Activity区别是什么,什么情况下把service杀死
  • activity的生命周期,什么时候destroyed,怎么手动destroy
  • apk里面有几部分
  • android编译流程,资源什么时候开始编译的
  • 项目里有图片资源吧,怎么引入图库的资源
  • json格式的数据怎么传输的
  • 栈和堆的区别
  • 快排思想,稳不稳定,怎么判断稳定性,快排空间复杂度,时间复杂度
  • 手撕生产者消费者的伪代码,问,如果队列满了怎么办
  • tcp三次挥手的过程,为什么不是两次
  • java的类加载过程
  • 双亲委托模型
  • 项目怎么解决多线程的问题,多线程考虑什么问题
  • Person a = new Person()的类加载过程
  • 算法题:一个字符串,找出出现次数最多的字符,建立哈希表 当天下午面完,晚上就打电话预约了二面时间。

3/18二面 电话面试

  • 自我介绍,学过哪些专业课,了解项目,了解项目中参与了哪些工作
  • 介绍二叉树,介绍B+树,红黑树,用途
  • GC机制
  • Android内存泄露,举例
  • apk编译,apk安装过程
  • androidManifest文件的作用,proguard什么用途
  • 了解哪些设计模式,说说各种模式的优缺点
  • final关键字
  • SurfaceFlinger了解吗
  • Android布局优化,为什么多层嵌套下,相对布局不如线性布局,原理是什么,可以结合view绘制说说吗
  • windowManagerService了解吗
  • SOC指令集,I2C总线和其他总线的区别(因为我的专业是嵌入式系统研究与应用,所以问了一些相关的专业知识)
  • 用过哪些第三方库
  • 问相关竞赛经历 二面结束后,迟迟没有消息,过程很煎熬,每天刷官网查自己的状态,终于6天后收到了三面的通知

3/26三面 腾讯会议

  • 自我介绍,介绍其中一个项目,找一个点具体讲讲怎么解决的,java和c++都涉及吗
  • Android Framework层有了解吗,比方说Activity的 onCreated方法执行前,都做了哪些工作
  • 在平板电脑上和手机上设计app有什么不同
  • 三次握手
  • Http报文格式
  • 如果让你从网络上获取资源,怎么设计,TCP,socket怎么用
  • 有没有涉及过多线程编程,Java中线程同步有哪些方法
  • 设计一个线程池
  • Android 编译过程介绍一下,反编译呢
  • 有没有解决过性能优化相关的问题
  • 竞赛中有没有涉及过写代码