1mg面试经验(校外)
我在 1mg, gurugram 接受了 Software Developer Profile 的采访。
第一轮:在线测试
- 给定一组数字,以产生最大值的方式排列它们。
例如,如果给定数字是 {54, 546, 548, 60},则排列 6054854654 给出最大值。如果给定的数字是 {1, 34, 3, 98, 9, 76, 45, 4},则排列 998764543431 给出最大值。 - 对于我们在数组中从 1 到 n 的第 i个位置所做的每个更改,我们必须找到最长递增子序列 (LIS) 的计数,即 1<=a[i]<=n。
- 输入:
3 1 // n 我
1 2 3
- 输出:
2 //LIS of 1 1 3 put a[i]=1
3 // LIS of 1 2 3 put a[i]=2
2 //LIS of 1 3 3 put a[i]=3
– 所需时间复杂度:O(nlogn)+O(n)
第 2 轮:
- 说说你自己。
- 当前组织中的当前项目
– REST 与 SOAP
– REST 的 HTTP 方法
– 编写一个 REST 服务来搜索当前项目中数据库中的特定数据。 - 设计一个身份验证系统(只有电子邮件和密码)(使用流程和数据库模式)。
- 通过 Facebook 设计第三方身份验证系统(带有流和数据库模式)。
第三轮:
- 基于机器学习的高校项目探讨(讲解KNN-分类器)
查找已排序和旋转数组中的最小元素
输入:{5、6、1、2、3、4}
输出:1- 为了在可以排列成回文的输入字符串中找到最大长度的子字符串,只需要偶数长度的回文。输入是一行字符串,它只包含整数。
输出是可以以回文排列的子串的长度。
输入:124565463
输出:6
(子串456546
可以重新排列为偶数回文) - 在一维数轴系统(-Infinity,+Infinity)中,在位置(pos)=0(原点)处以速度(V)=+1 启动汽车时,每加速一次(A),它就会跳跃两倍于当前速度(在 +ve 或 -ve 方向上)并且对于每个 Reverse(R),它的位置保持不变,但如果它是 +ve,则速度变为 -1,如果它是 -ve,则变为 +1。
您必须找到从原点到达 +N 的最短字符串的计数(A 和 R 的组合)
输入:+6
输出:5
(子字符串AAARA
)
解释: pos V
初始:0 +1
A 之后:+1 +2
A 之后:+3 +4
A 之后:+7 +8
R后:+7 -1
A 之后:+6
-2 使用 rand2() 实现 rand3()
- 使用 rand2() 实现 rand5()
第四轮:
- 给定一个包含 n 个元素的数组,其中包含从 0 到 n-1 的元素,其中任何一个数字出现任意次数。在 O(n) 中找到这些重复的数字,并且只使用恒定的内存空间。
例如,设 n 为 7,数组为 {1, 2, 3, 1, 3, 6, 6},答案应为 1、3 和 6。 - 给定一个由 n 个整数组成的未排序数组,该数组可以包含从 1 到 n 的整数。一些元素可以重复多次,而其他一些元素可以不存在于数组中。所有元素的计数频率。
输入:arr[] = {2, 5, 3, 2, 5}
输出:以下是所有元素的频率
1 -> 0
2 -> 2
3 -> 1
4 -> 0
5 -> 2 检查二叉树是否为 BST 的程序
当您在浏览器中输入 google.com(使用网络流)时会发生什么?
- 计算机网络概念
第五轮:VP轮
- 说说你自己。
- 当前组织中的当前项目
– 您在项目中面临的最严峻挑战是什么? - 你为什么要离开现在的组织
- 打印字符及其频率(可以存在特殊字符)。
输入:str = “$ 个字符$”
输出:$2 c2 h1 a2 r2 t1 e1 s1
提示:哈希,AVL
得到了报价但拒绝了,因为我有更好的选择,不是在金钱方面,而是在技术方面。堆