百度国际化Android实习一面
- 自我介绍
- JAVA的常见集合类:
- ArrayList和LinkedList区别:
- ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
- 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
- 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
- Map常用类型:HashMap,Hashtable,CurrentHashMap
- 它们之间的区别:安全问题,synchronized加锁的区间
- Kotlin协程和线程的区别:
- Kotlin 协程是轻量级的,它们不需要操作系统的线程来工作,单核线程里面工作
- 协程相当于封装好的线程,提供callback方法,无需关心线程和线程切换的内在逻辑,可以拿着返回的结果直接使用
- 跨线程通信有了解吗?:Handler机制
- 子线程不能创建Handler,因为没有Looper,主线程会默认开启,子线程需要调用唤醒
- 聊一下MVVM的理解:
优点:
- 低耦合:视图(View)可以独⽴于 Model 变化和修改,⼀个 ViewModel 可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
- 可重⽤性:你可以把⼀些视图逻辑放在⼀个ViewModel⾥⾯,让很多 view 重⽤这段视图逻辑。
- 项目遇到的挑战性的事情,详细介绍。
- 反问。
#软件开发2023笔面经##百度##Android面经#
面试集合专栏 文章被收录于专栏
个人的面试集合,具有时效性