📜  Citrix 面试经验 |设置 5(校内)

📅  最后修改于: 2022-05-13 01:57:08.460000             🧑  作者: Mango

Citrix 面试经验 |设置 5(校内)

第一轮(2小时):

它有两个部分:
1. 60 分钟内完成 50 个 Mcqs。包括的问题与网络、操作系统、定量能力、c、c++、oops 相关。
2. 60 分钟内有 2 个编码问题。
一世。给定一些可变数量的正负数以某种随机顺序和 n。找到第 n 个最大的数。
ii.给定两个整数 n 和 m。在两个数字的二进制表示中找到最长的连续子集。
例如:n 和 m 是 10 和 11。它们的二进制表示是 1010 和 1011。两者中最长的连续子串都是 101,最长的连续子串是 101 的值,即 5。

第 2 轮(约 1.15 小时):

这是一个技术回合。它有与我的项目、XML、javascript、c++(主要是虚拟概念和 oops)、操作系统、网络、数据结构、算法、网络安全、Web 服务、谜题有关的问题。

XML
1. XML 解析器有哪两种类型?
2.如果文本节点在XML中包含'&'符号会发生什么?
3. XML中的cdata类型节点是什么?
4. 什么是DOM?

javascript
5.你如何在javascript中创建对象?
6、javascript中继承的类型有哪些?
7.什么是JSON?

哎呀和 C++
8.什么是继承、多态?
9. c++中如何实现运行时多态性?
10. c++中空类的对象大小是多少?
11.虚表会影响c++中对象的大小吗?
12. 什么是默认参数?为什么使用它们?

操作系统
13、什么是虚拟内存?为什么需要它?
14. 什么是过程?
15. 一个进程如何从逻辑地址空间映射到物理地址空间?
16.什么是分页?它是如何实施的?
17.什么是重入码?
18. 什么是线程?为什么需要它?关于它的一些讨论。

计算机网络
19. 当您在浏览器选项卡中键入 www.google.com 时会发生什么?
20.什么是ARP?它有什么作用?
21、ARP表存放在哪里?
22. 考虑到你和谷歌的网络在不同的网络中,你的请求包在发送主机上的目的mac地址是你网络中哪个网元的mac地址?
23. 什么是 OSI 层?
24. 在互联网协议栈的每一层中至少命名一个协议?
25. 什么是子网? IP地址?
26.给定一个IP地址,你如何识别它属于哪个子网?
27.什么是CRC?解释它是如何用于错误检测的?
28.什么是路由?有哪些不同的路由算法?
29. 链路状态算法使用哪种算法找到最短路径?距离向量算法使用什么来计算新向量?
30. TCP如何保证可靠的数据传输?

数据结构
31. 标准栈操作有哪些?
32. 给定一个无限的数字流以及这些数字是从堆栈中压入还是从堆栈中弹出,给出任何时间点堆栈中最大的元素,每个操作的时间复杂度为 O(1),O(N)额外的空间复杂度。

算法
33. 你知道的所有排序算法及其时间复杂度是多少?
34. 举例说明快速排序?

其他
35.什么是对称和非对称加密?
36. 什么是数字签名?
37. SOAP 和 REST Web 服务有什么区别

谜题
1. 100 名戴着红帽/黑帽的囚犯?
参考:https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/
2. 找到最快的 3 匹马。
参考:https://www.geeksforgeeks.org/puzzle-13-100-prisoners-with-redblack-hats/

第三轮(约 45 分钟):

这也是一个技术回合。它有与我的项目、操作系统、网络、算法和一些一般人力资源问题相关的问题(由于这些问题,我认为这可能是最后一轮,但我不知道还会有更多轮次)。

他开始询问我在第 1 轮中为第二个编码问题编写的代码。我做了蛮力,我向他解释了。他说优化一下。然后我告诉了一些不正确的优化。他只是让他明白了其中的问题所在。
然后我说使用动态编程的解决方案。

算法
1. 告诉我任何复杂度为 O(N)、O(logN) 的算法?解释为什么这些复杂性是如何确定的?
2.快速排序的最佳和最坏情况时间复杂度是多少?
3. 为什么快速排序在最好的情况下复杂度为 O(nlogn),而在最坏的情况下复杂度为 O(n^2)?

操作系统
4. 什么是分段?分页?简要说明。
5. 可执行文件包含哪些段?何时为进程分配堆栈和堆段?映射是如何完成的?

计算机网络
6、TCP和UDP有什么区别?
7. 什么时候优先于另一个?
8. 什么是流量控制?解释 TCP 如何提供流量控制?
9. TCP如何保证可靠的数据传输?关于累积确认、重复数据包、重复 ACK、计时器、缓冲、快速重传的一些讨论。

一些一般性的问题。
1、你暑假做了什么?
2. 你做过实习吗?
3. 你的兴趣是什么?

第 4 轮(约 1.5 小时):

这也是一个技术回合,与上一轮相比,这对我来说显然很难。但不知何故,我能够通过面试官给我的线索/提示来完成它。

计算机网络和安全。
1.什么是IDS? SNORT 是如何工作的?
2.什么是DOS攻击?具体来说,TCP syn攻击?
3. 如何在服务器主机上唯一标识一个 TCP 套接字?
4. 从客户端主机到服务器主机上的特定套接字最多可以同时建立多少个 TCP 连接?
5. 要同时向某个网络发送 100 万个数据包(DOS 攻击),最少需要多少个 IP 地址?
6、TCP段中有哪些字段?
7. 三向 TCP 握手是如何发生的?
8. 第三步握手的ACK包可以在数据域中包含payload吗?
9. 套接字编程——如何创建套接字和建立连接?编写套接字编程中使用的标准函数。
10. 为什么客户端和服务器选择随机的初始序列号?

编码问题
11. 随机单元格有一个 xn 网格和一个箭头,其位置未知,其指向的方向也不知道。箭头可以指向四个方向(上、右、下、左)中的任何一个。
允许进行三种操作:
一世。 goStraight() //将箭头沿指向的任何方向移动到下一个单元格。
ii. isWall() // 如果下一个单元格是墙,则返回 true,否则返回 false。
iii. turnRight() // 将箭头向右转。
给定一个具有一些隐藏方法的对象,这些方法将随机将箭头放置在网格中并支持这 3 种方法。您应该遍历整个网格,即所有单元格,但不使用给定对象两次遍历任何单元格。

12. 蛇梯游戏。

给你两个包含两个元组的列表,描述梯子和蛇的初始和最终位置。您需要找到赢得比赛所需的最少移动次数。
参考:https://www.geeksforgeeks.org/snake-ladder-problem-2/

哎呀和语言

13、什么是c++中的虚继承?
14. c和c++的主要区别是什么?
15. c++和Java有什么区别?
16. 宏和函数有什么区别?宏可以参数化吗?是用数据类型指定的宏参数吗?
17. 用 C 实现 oops 概念,如封装、继承、多态等。
18. 编写一个宏来计算任何给定参数的大小,例如 sizeof运算符。
19. 给定以下结构:
构造一些
{
字符 c;
诠释我;
短裤;
};
假设 32 位架构,结构的大小是多少?

操作系统
20. Unix 是否实现按需分页?
21. 系统调用是如何被执行的?详细解释。
22. 自旋锁和信号量的区别?
23. 什么时候优先于另一个?

第五轮(约20分钟):

这是一轮人力资源。它有一些一般性问题,例如:

1. 说说你自己。
2. 你感兴趣的领域是什么?
3. 解释你的项目。关于它的一些讨论。
4. 关于我的家庭背景的一些问题。
5. 未来 5 年你认为自己在哪里?
6. 您对 Citrix 有任何疑问吗?

终于,等了一个小时,我收到了思杰的offer。这是我的第一次面试,这是一次很棒的经历。
我对面试的建议是从概念上了解你的主题,精通至少一种 oops 语言,并培养良好的逻辑和分析思维。
感谢 geeksforgeeks 提供了一个如此好的平台来练习和学习各种概念。

相关练习题

两个数字的最长公共子串值