我接受了1mg gurugram软件开发者资料的面试。
第1轮:在线测试
- 给定一个数字数组, 以产生最大值的方式排列它们。
例如, 如果给定的数字为{54, 546, 548, 60}, 则排列6054854654给出最大值。如果给定的数字为{1、34、3、98、9、76、45、4}, 则排列998764543431给出最大值。 - 我们必须找到最长递增子序列(LIS)对于我们在i所做的每一次更改th数组中从1到n的位置, 即1 <= a [i] <= n。
–输入:
3 1 // n i
1 2 3
–输出:
2 // 1的LIS 1 3放置a [i] = 1
3 // 1 2 3的LIS将a [i] = 2
2 // 1 3 3的LIS将a [i] = 3
–所需的时间复杂度:O(nlogn)+ O(n)
第二回合
- 说说你自己。
- 当前组织中的当前项目
– REST VS SOAP
– REST的HTTP方法
–编写REST服务以在当前项目的数据库中搜索特定数据。 - 设计一个身份验证系统(仅包含电子邮件和密码)(具有流程和数据库模式)。
- 通过Facebook(带有流程和数据库模式)设计第三方身份验证系统。
第三回合
基于机器学习的大学项目讨论(解释KNN-classifier)
在经过排序和旋转的数组中找到最小元素
输入:{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
(子字符串
美国汽车协会
)
说明:pos V
首字母:0 +1
A之后:+1 +2
A之后:+3 +4
A之后:+7 +8
在R之后:+7 -1
之后:
+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 =" $ characters $"
输出:$ 2 c2 h1 a2 r2 t1 e1 s1
提示:哈希, AVL
得到了要约, 但由于我有更好的选择, 所以拒绝了, 不是在金钱方面, 而是在技术方面。叠