cetv安卓开发一面
自我介绍
实习,项目:
1、可以说下你实习过程中遇到哪些比较令你印象深刻的困难,描述下你怎么解决的。
2、第一次接触 Kotlin 语言学习的时候,你是怎么学习的呢?怎么快速融入这个开发呢?
3、 Kotlin 和 Java 有什么区别
4、我看你在项目过程中做了很多优化的部分,那可以具体说一说你这个是优化了哪些东西吗
5、这个 SDK 是用了什么设计模式呢?什么架构
Android八股:
1、了解过扩展函数吗,原理是什么
2、协程和线程有什么区别
3、可以说一下安卓的主要四大组件吗,service 的作用,和我起一个线程有什么区别(另起线程能否代替service)
4、之前有了解过内存泄漏吗,安卓中常见的内存泄漏有哪些呢,有自己尝试定位过这种这一类的问题吗?有看过内存泄露的日志吗
5、MVVM架构和MVP架构的区别
6、为什么要用组件化呢?它有什么优势
7、在 Android 中如何实现异步的任务,有哪些方式可以实现异步的任务, Loop 具体作用是什么
8、Surfaceview 和普通的 view 有什么区别吗
9、可以说一下获取 view 的宽高的方法吗
10、Activity 的 onCreate 和 onResume 有什么区别
11、安卓中的 context 是什么、有什么作用,application 里面的 context 和其他四大组件里面的 context 有什么区别
Java八股:
1、 Java 在传递参数的时候传递的是值还是引用,能具体说一下为什么吗
2、静态内部类和非静态内部类有什么区别
3、什么是面向接口编程,和抽象类有什么区别
4、可以说下 Hashmap 的 pop 函数的原理吗,它是如何扩容的,它里面是数组还是树还是链表
5、Java 引入泛型的目的是什么,泛型擦除有用过吗
6、假设我有两个Arraylist,然后里面分别传入 int 类型和 string 类型,最终获取这两个对象的class,如何比较它们(我说取里面的元素比较,面试官不太满意)
7、synchronized 修饰普通方法和静态方法的区别,还有其他方式保证线程安全吗,和synchronized有什么区别吗
8、有了解过原子性和可见性吗,可见性能够保证线程安全吗
9、项目过程中有用到单例模式,那单例模式过程中实现了双重检索,如果说它能保证关键信息安全的话,那我为什么还要再加一个关键字去修饰。(没想起来)
10、Java中的引用有哪些,分别介绍一下
11、描述一下类的加载过程
计算机网络:
1、TCP 和 UDP 有什么区别
手撕:
合并有序链表(我用双指针),问还有其他方式吗(我好想说我只刷了一种思密达)
反问
#牛客创作赏金赛##面经#