Tokopedia 软件工程师面试经验(1 年以上经验)
第一轮:在线编码轮:第一轮是在 Hacker Rank 平台上进行的在线测试。在这一轮中,大约有 10 个与 Android 和 OOP 概念相关的 MCQ,其中有 1 个编码问题。编码问题的权重更大。这是问题:
- https://www.geeksforgeeks.org/find-element-array-sum-left-array-equal-sum-right-array/
我能够正确解决大多数 MCQ,并且通过所有测试用例的编码问题。我被选中参加第一轮技术面试。
Round 2(技术面试 Round 1):这是 DS+Algo 一轮,面试官分享了代码编辑器,共问了 3 个问题。面试官让我先解释一下方法,然后开始为每个问题编写代码。
以下是问题:
- https://www.geeksforgeeks.org/remove-all-duplicate-adjacent-characters-from-a-string-using-stack/
- https://www.geeksforgeeks.org/move-zeroes-end-array/
- https://leetcode.com/problems/group-anagrams/
我能够解决所有 3 个问题,因此被选中参加下一轮面试。
第3轮(技术面试第2轮):这一轮基于Android,因为我申请了Android Developer职位。
- 不同场景下与Activity生命周期相关的问题。
- 他询问了 Android 中的网络、Retrofit 以及如何使用 Retrofit 完成 API 调用。他问我使用 Retrofit 需要什么。
- Gson转换器厂
- 改造中的 OkHttp 和拦截器
- 可序列化注解
- Java设计模式
- Android 架构模式。他们之间的差异。
- 很少有人问关于 MVVM 架构的问题。为什么我们需要 MVVM?被要求使用 Retrofit 和 MVVM 架构设计网络呼叫。我解释了所有课程都需要什么。
- 关于 HashMap 的问题。使用 HashMap 的优点。
- 在Java中实现 ArrayList。
这一轮很顺利。 3天后,我接到招聘人员的电话,我已被选中进入下一轮。
第4轮(技术面试第3轮):面试官询问了当前组织的工作情况。 MVVM 架构中的数据流。一些与 Kotlin 相关的基本问题。他让我在数据结构方面给自己打分。然后他让我分享记事本并问了2个问题。
- 在数组中查找分区点
- 将矩阵旋转 90 度
第 5 轮(HR 轮)1:这是最后一轮,包括一些基本的 HR 问题,然后是薪资讨论。
整个过程用了1个月左右,最后我被选中了。
提示:为数据结构问题和您申请的技术做好准备。在每一轮中,都会询问 DS 问题。
祝一切顺利!!