UrbanClap SDE-1 面试体验 (Android)
在 LinkedIn 上看到职位空缺后,我申请了 Android 开发者的简介。需要1-3年的经验。我直接邮寄给 HR,因为我对上述角色感兴趣。在不到一天的时间里,我接到了 HR 的电话,询问我关于我的开发经验,之后她安排了我与一位高级开发人员的面试。
第1轮:
这是一个 1 小时的环聊采访。这一轮主要关注 Android 和Java的细节。这一轮评估了对组件和框架的深入了解和内部工作。
提出的问题是:
- Handler 和 Looper 的工作。 Android 线程与Java线程有何不同?解释处理程序线程。
- Android 中的并发框架及其用例。
- AsyncTask 有什么问题? AsyncTask 和 Activity 的生命周期之间有什么关系?这会导致什么问题?
- 描述 RecyclerView 不同方法的工作原理。
- 何时注册/取消注册在活动中创建的广播接收器?优先选择onStart()/onStop()和onResume()/onPause()而不是onCreate()/onDestroy()的优势。
- ListView 和 RecyclerView 有什么区别?
- 给定 50 个项目和最大可见行,找出onCreateViewHolder将被调用多少次。
- 您将如何在两个片段之间进行通信?
- 什么是弱引用和强引用(以及示例)?
- Android应用程序内存泄漏的原因?
- 什么是稀疏数组?
- Serializable 和 Parcelable 有什么区别? Android 哪个更好,为什么?
在这一轮之后,我被分配使用 Zomato 搜索 API 制作一个 Android 应用程序。预期的功能是无限回收视图(分页)、餐厅列表过滤器和搜索餐厅的搜索视图。
第 2 轮:
在上一轮的基础上,我被选为第二轮。这也发生在环聊上。这是 DS Algo 回合。它从讨论我的项目和实习开始。之后,有人问了一些与随机概念相关的问题,比如推拉机制的用例是什么。她最初告诉我推和拉,然后问我用例。最后,要在协作编辑器上解决两个编码问题。
- 排序后的数组围绕某个点旋转。找到起始元素。
- 实现图的深拷贝。 (克隆图)
第三轮:
这一轮是与工程副总裁一起安排的。又是一次环聊采访。他向我询问了我的背景以及我选择 Android 的主要原因是什么,然后对我的项目进行了长时间的讨论。
- 描述上一个应用程序的架构。
- WAP 在不使用额外空间的情况下检查字符串是否为回文。解释每种方法的时间复杂度。
- 什么是字符串实习?
- 用于子字符串搜索的 WAP。
- 对 Urbanclap Android 应用程序提出您的意见和建议。
总体而言,整个过程耗时 14 天。