时代网面试经历 |第 3 套(适用于移动应用程序开发人员)
我通过员工推荐申请了 Android App developer Intern 的职位
他们给了我们一周的任务来构建一个简单的 android 应用程序,以在回收站视图中列出用户智能手机上安装的所有应用程序,并使用辅助功能服务一次性删除用户选择的应用程序(仅分配中的奖励任务)。此任务要在家中完成
他们给了我们一周的时间,并要求在诺伊达电影城办公室 Times Internet 进行 FTF 采访
Round1(1.5 小时):我被介绍给有 1-2 年经验的 Android 开发者
他详细地询问了我的项目。我为什么做这个项目?他甚至从 Play Store 测试了我以前所有的应用程序并提出了相同的问题。
他让我解释 Android 中最具挑战性的项目。
他问假设你想显示用户智能手机最少使用的应用程序,那么你将如何实现它?
我告诉他,我们可以创建一个后台运行的服务,并对用户启动的所有应用程序进行计数。假设 10 天内计数为零的应用程序是最近最少使用的应用程序。
他说用你的方法至少需要 10 天,如果我在安装应用程序的第 0 天想要这些信息怎么办?
5分钟后,我给了他两种方法如下
– 在我们的服务器中,我们可以列出一些基于 Analytics 的最常见未使用的应用程序。
– 我们可以计算应用程序的用户数据并根据这些数据对应用程序进行排序
他说你知道这个没有*#*#4636#*#*
我很快告诉他是的,我前几天在 Quora 上读到了这篇文章
我告诉他我们可以使用上述数字来计算使用无障碍服务的最近使用的应用程序的方法,但我告诉他这不是完美的解决方案。
他很满意
他问我你对Rooting了解多少?当我们对智能手机进行root时会发生什么?你的智能手机root了吗?
之后他说好的,接下来你将接受 Ganna.com 4-5 年经验丰富的开发人员的面试
–第 2 轮(1 小时)-
5 分钟后 3 个人进来他们自我介绍并问我最喜欢的语言。
我说用于编程 C、C++ 和用于开发Java (Android)
Q1。其中一位要求使用Java中的 Set 来实现 Hash map。
我告诉他我在Java中的 Hash map 方面不太擅长,但我告诉他我知道 C++ 中的无序映射和无序集。他说好的继续解释。
Q2。在那之后,另一个人让我写代码来在纸上找到二叉树的镜像。
告诉他的方法他很满意。
Q3。打印以下图案
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
-解释
Q4。他们问我给定一个数组打印倒数第二个出现频率的元素
前任。 4 3 6 3 1 5 6 3 8 8 8 8
输出:3
我告诉他 n^2 方法。他要求我将复杂性降低到 O (NlogN)
5 分钟后,我给了他一个方法,对 O (NlogN) 中的所有元素进行排序,然后通过维护 4 个变量(Max count 和 Second Max Count 以及 2 个字符)遍历数组
O (NlogN) + O(N) 的最终解决方案
他似乎很满意
第三轮(1小时):
第一轮的同一个人过来告诉我,我在上一轮做得很好。干杯!
在那之后有一个快速的射击回合,问题就像
什么是 ADB,Fragments 生命周期,Activity 生命周期,9 个补丁图像,Android 中的接收器,如何将值从一个意图共享到另一个,Recycler View 和 List 视图有什么区别?为什么 Recycler 快? Retrofit、Volley、AsyncTask(我在简历中提到过)和更多问题
我无法回答所有问题,并立即告诉他们我不知道,我正在猜测。
他说别担心酷
他向我详细介绍了他们正在开展的项目,并问了一些一般性问题,比如你未来的计划是什么,给自己打分 10。
非常感谢 GeeksforGeeks 在数据结构和算法方面帮助我。你们做得很好。