ThoughtWorks 面试经历 |设置 7(校内)
第一轮(hackerearth算法挑战):
1A。给定一个整数数组 A0, A1, A2... An ;找到一个“k”,其中 1<=k<=2^32 使得 (A1 xor A2 xor A3... xor An) xor k 最大。 1<=Ai<=2^32
1B。给定一个长度为 n 的二进制字符串和两个整数 m 和 k,计算长度为 m 且至少具有 k 个集合位的子字符串的数量。 1<=n, k, m<=10^5
第二轮(结对编程):
这里给出了一个真实的情况,我必须构建一个面向对象的设计来解决该解决方案。指派了一位思想工作者来帮助我提供提示并判断我的设计。
2A。招聘人员决定在 m 个面试官的帮助下,在一个有 r 个房间的场所对 n 个参加者进行面试。每次面试时间正好是 2 小时。一天从早上 9:00 开始
下午 6:00 结束,下午 2:00 到 3:00 休息。设计此系统以生成要进行的采访的时间表,并在某些采访不能参加时显示
采取。
例如。 **输入**
出席人数:5
面试官:3(A、B、C)
房间:2
**输出**
参加者面试室插槽
1 A R1 9-11
2 乙 R2 9-11
3 C R1 11-1
4 乙 R2 11-1
5 A R1 3-5
第三轮(技术轮):
这一轮一般持续1-1.5小时。就我而言,它持续了2个多小时。
3A。大约 45 分钟的项目和实习讨论和解释(非常彻底)
3B。关于Java垃圾收集器的讨论
3C。支架平衡问题
3D。假设有一个具有同心圆形磁道的磁盘。磁盘上有标记的扇区。我们可以添加任意数量的轨道,也可以添加扇区。怎么会这样
用数据结构表示。
3E。讨论对象,它们的身份和同一类的两个对象之间的区别。
3F。当我们可以将数据直接存储在服务器中时,为什么还要使用数据库?
3G。制作银行的数据库模式
3H。关于这个的一些 sql 查询和关于键的讨论
3一。为什么我觉得Java比 C++ 更有优势
第 4 轮(技术轮):
这持续了1.5个多小时。
4A。对我在实习(android)期间做过的项目以及我在这些项目中没有做过的部分进行了大约 40 分钟的详细讨论和解决问题。
4B。讨论安卓技术。
4C。讨论android中的linearlayout、constraintlayout和relative layout。他们的优点和缺点。
4D。关于在 android 应用程序中处理大量数据的讨论。
4E。讨论 sharedPreferences 和数据库,它们的优缺点。
4F。关于 Http get 和 post 请求的讨论。
4G。解释 android 中登录页面的工作原理。
4H。讨论recyclerview、arrayAdapters及其用法。
4一。给定一个数 n,制作一组 m 个整数,使得整数位于 [1, n] 之间,并且没有两个整数之和应该产生一个整数,该整数在该集合中。
例如。 **输入**
n=20, m=5
**输出**
[3, 6, 11, 14, 17](其他组也可以)
4J。给定一个环链和每个连接的强度,我们必须将链分成 3 部分,以使破坏它们的努力最小(努力不取决于加入的位置)。
我必须展示两种方法:i。有 2 个阵列
ii.有 1 个阵列
4K。给定一个图,实现 K 着色问题的解决方案。
第5轮(人力资源轮):
这持续了大约20分钟。
5A。讨论我的背景和技能。
5B。如果客户提出购物应用程序的产品申请,我会考虑在多大程度上制定解决方案。
5C。与其他开发人员相比,移动应用程序开发人员面临哪些额外困难。
5D。根据我的说法,netflix 或 amazon 是如何流式传输他们的视频的?
5E。有关 ThoughtWorks 开展的工作类型的信息。
第6轮(P3轮):
这一轮涉及 ThoughtWorks 的第三个支柱,即社会正义。这持续了大约25分钟。
6A。印度是一个面临许多社会、政治和经济问题的国家,这些问题还有很大的改进空间。我觉得我可以在哪些问题上有所作为,作为公民或软件工程师,我该如何做出贡献?