项目:(22min)
拷打20分钟项目,面试官对项目的刷新功能比较感兴趣,然后一直追问,问到答不上来。
基础:(25min)
- 用过kotlin编写项目,聊一下kotlin和java的区别
- 具体代码上的体现,比如kotlin写一个单例类怎么写,要用kotlin写一个工具类要用到哪些关键字(这里应该是像考察kotlin的基本语法,验证我有没有真的写过kotlin。整整半年没有碰过kotlin了,已经忘了,没答上来。后面提到了object我才想起来可它是用来声明单例类的,也补充了kotlin中方法声明等)
- kotlin的懒加载是怎么实现的?不知道。
- kotlin调用一个可空的成员变量被编译成java是以什么形式表示的?(
- 这里也不知道,跟我讲了,AS自带编译kotlin成java的功能,先去判断对象是否为空,如果是空就会给一个安全的类型,不会让你崩掉;如果是设置的对象是不可空的就会加一个断言,断言中判断对象是否为空,为空就会崩)
- 闲聊安卓是咋学的,是上了培训班吗?(是学校选修课,16周然后交大作业)
- 闲聊中级软件设计师,这证难考吗?跟英语四六级哪个难?(面试官是非科班出身的,没了解过这些技能证书)
- 使用了哪些jetpack组件?(这里也没说上来几个,就是Databinding Room LiveData )
- 怎么理解MVVM架构?
- 布局都是用的什么?(用的简单的线性布局。说可以考虑试试约束布局,还是不错的)
- 讲一下适配器模式。
- 性能优化做的是什么样的内容?(设置Glide的缓存)
- 了解操作系统都有哪些?(我以为是问操作系统中有哪些组成部分,他问的是有哪些操作系统,windows IOS 这种)
- 说一下http和https的区别。
算法:(15min)
- 整数反转(32位INT整数,将每个数字进行反转,如果超过INTERGER的取值范围返回0)【没做出来,不会处理溢出情况,申请换了一道】
- 两数之和(做出来了)
反问:(2min)
- 对项目中他特别关心的怎么RecyclerView刷新数据反问,快手是怎么做的?
- 你是负责这块的还是整个项目都看过?
后面有什么流程hr会通知,第二天打电话约二面了。
---------------------------------------------2023.9.11更新---------------------------------------------
二面面经(已约三面):
https://www.nowcoder.com/share/jump/1694422144973
#我的成功项目解析##我的失利项目复盘#