字节跳动Android秋招面经

无笔试,直接约一面。飞书部门。

一面 9.24

一小时左右。

  • 自我介绍
  • 谈实习,说一下难点和解决方法
  • flutter或Android中的手势消费原理
  • flutter是如何生成一个安卓应用的
  • flutter渲染原理,三棵树
  • flutter的桥,调用native能力,如调用相机
  • 线程和进程的区别
  • 多线程相关,线程间哪些是共享的?进程间哪些是共享的?
  • 什么是线程安全,如何保证线程安全
  • Java的基本数据类型与包装类型有哪些?二者有什么区别?
  • 深拷贝和浅拷贝的区别?具体是如何copy的?
  • 链表和哈希表的区别,适用场景
  • HashMap实现原理,若用对象作为键,修改对象的属性,获取到的值会改变吗
  • requestlayout 和 invalidate 的区别
  • RecyclerView是如何展示列表数据的?notifyItemChanged局部刷新列表数据,其他局部刷新的方法
  • MMKV的使用,相对 SharedPreferences 的优点
  • TCP和UDP的区别,TCP的可靠传输是怎么实现的?
  • 2G的单词,给100M空间,如何知道出现频率top10的单词?
  • flutter对比原生安卓的优劣势
  • flutter用的布局模型是什么
  • 编程题:输出二叉树的后序遍历(不用递归)

计网基础还是不熟悉。问了一些安卓相关的也没答上来。

java在虚拟机中除了线程计数器、jvm栈和方法栈是线程私有的,其余的java堆、方法区、和运行时常量池都是线程共享的内存区域。

9.25已挂 T^T