一面(2024/3/5 52min)
- 自我介绍
- 聊实习,实习的主要工作是什么?
- 聊项目,手机上有这个项目吗?展示一下
- 说一下MVP模式
- 说一下MVVM模式的set()和get()是怎么实现的,数据的绑定是通过什么实现的?当时没有get到要问啥,现在想想应该是要问DataBinding和ViewBinding
- 说一下抽象类和接口的区别?抽象类和接口可以有方法体吗?Java可以多实现或者多继承吗?
- 如何保证线程安全?
- ArrayList和LinkedList的区别?LinkedList的链表是单链表还是双链表?双向链表
- HashMap和HashTable的区别?
- HashMap的底层实现?哈希冲突如何解决?
- 说一说你熟悉的几个设计模式?
- 单例模式的分类?
- 写一个双重校验锁
- 写一个冒泡排序
- JVM的内存划分?
- String s1="1"; String s2=new String();这两个字符串创建所存在的位置
- ==和equals的区别?
- 深拷贝和浅拷贝的区别?
- 说一说Kotlin的扩展函数?扩展函数的原理是什么?
- 垃圾回收算法都有哪些?年轻代和老年代所用的算法的区别?
- 讲一讲Handler机制?Looper是线程唯一的吗?主线程的Looper的创建时机?ActivityThread的main()方法
- 现在push一个延迟消息到消息队列里,这时候忽然退出应用程序了,会有什么问题?
- 如何解决内存泄漏?
- View的事件分发机制?解决过滑动冲突吗?自定义过View吗?如何实现的?
- 触发invalidate()和requestLayout()会发生什么?
- 现在需要设置RecyclerView的每个item都不一样如何实现?
- TCP和UDP的区别?可以多连接吗?
- HTTP和HTTPS的区别?对称加密和非对称加密?说一些常见网络错误码?
反问:
- 部门技术栈?Kotlin语言为主,有一套自己设计的架构
- 面试官您觉得我还有哪方面的不足吗?
- 这个岗位是日常还是暑期转正实习?
- 面试一共有几面?至少还有一轮技术面
总结:第一次遇到这么多八股的面试,在面试的时候就感觉问的好多,整理面经发现真的好多,2024年的首面,发挥的不是很好,有些八股没遇到过,还有实习不是写业务的,有些业务问题感觉说的不是很好,那道业务的场景题也没答上来。
二面(2024/3/10 70min)
- 自我介绍
- 聊实习做了什么工作,问的很细节,会问到具体是怎么实现的
- MVP架构的引用关系?内存泄漏如何解决?
- Kotlin的空检验机制,如果说在Java调用Kotlin可空参数函数传入null,会发生什么情况?空指针异常
- 说一说协程?协程和线程的区别?
- 说一说高阶函数和内联函数?内联函数高效的原因?
- 说一说泛型?泛型擦除?如何获取泛型的实际类型?
- 手写一个可以不需判空的扩展函数,面试官自己出的,因为有个概念我不清楚所以面试官也就没让我写下去了
- 说一说Fragment,Fragment的生命周期
- 说一说Handler机制
- 如何获取view的视图的宽高
- view.post()的原理
反问:
同一面
总结:二面没有像一面一样有那么多的八股,但是会问的很深很细节
标签:说一说,函数,区别,Kotlin,滴滴,面经,如何,实习,Android From: https://blog.csdn.net/weixin_62065217/article/details/137205858