比心实习面经
一面 4.12
- 简单做个自我介绍
- 介绍一下简历上的项目
- 之前有面试过其他公司吗?
- 介绍一下 Activity 的生命周期
- 刚刚提到了横竖屏切换,它的生命周期是怎么样的?
- Service 启动方式有两种,分别是什么?区别在哪里?
- 你在项目中对于网络请求使用到了Retrofit,说说你对它的认识:
- 你使用它的过程(怎么用)
- 对它的一些理解
- 刚刚你说到了数据请求完之后,把数据传递到主线程上去渲染UI,这个过程你使用了什么?
- 你提到的协程的 suspend 是什么东西呢?
- 协程和多线程/线程池有什么区别?
- 你对 Handler 熟悉吗?简单谈一谈,比如:
- Handler 由哪些部分组成
- 每一块是什么样子
- 它有什么作用
- 我们经常会问一个东西,Handler 会造成内存泄漏,那我们在使用/创建 Handler 时,是直接 new 一个 Handler 对象吗?
- 项目中是一直使用 Kotlin 吗?有没有使用过它的一些扩展函数?
- 像 Java 中的一些集合,比如 HashMap,有了解吗?
- 我们在计算 K-V 在 HashMap 的初始位置时,为什么会需要右移
- Java 的反射会用到吗?说一下它的使用过程
- 计算机网络学的怎么样?说一下 TCP 的三次握手
- 发起网络请求的时候,是如何通过域名找到对应服务器的?
- DNS 的解析过程是什么样的?
- DNS 请求使用的是 TCP 还是 UDP?
- UDP 不可靠怎么办?
- TCP 滑动窗口是什么?
- 平时写算法吗?讲一下快排的原理
- 反问:
- 八股面经容易忘,有什么方法可以提升/在面试时有更好的表现?
- 网上面经都是大佬居多,不知道自己到底实际属于什么样的水平,如何判断?
- 面试目前竞争激烈吗?
二面 4.13
- 简单自我介绍一下
- 看到了简历上的 *** 项目,简单介绍一下:
- *** 官方已经有了相关功能了,为什么还是想要自己造轮子?
- 对相关的推送服务(Android)有了解吗?
- 简历中另外两个 Android 的项目都是自己学习过程中做的吗?简单介绍一下:
- 项目是什么?
- 学习到哪些东西?
- 过程是怎样的?
- 做项目和学习 Android 的渠道有哪些?
- 是怎么第一次接触到 Android 开发的?
- 做项目和学习过程中,觉得遇到的最大的挑战是什么?
- 为了解决某一个比较难的问题,大概持续了多长时间?
- ChatGPT 最近比较火,有了解吗?
- 对职业发展有规划吗?比如:
- 技术方面
- 行业方面
- 觉得自己的优势和劣势是什么?
- 反问:
- 面试有几轮?
- 是否有 MT 带教?
- 短期来看,学习 Android 需要从哪一方面再去下手深入学习?
- 入职之后可以和您继续沟通交流吗?
距离和比心的这两次面试已经过去很久了,现在回过头来去看比心的两位面试官当时对我的拷打还是很温柔的,而且第一位面试官还很耐心的为我讲解了 Handler 相关的知识,也聊了很久并且给了很多的建议,总的来说体验感真的很不错。
可惜后面因为我个人的原因没有去成比心,但是就这次体验而言,我觉得比心绝对很值得点赞,也希望能够给后面的同学一点小小的参考,同时也再为当时的两位面试官安利一下这家公司~