思科系统公司来到我们的校园招聘实习生担任软件开发人员的职位。
他们首先进行了在线测试以筛选候选人。在线测试由 50 个必须在 60 分钟内解决的 MCQ 组成。MCQ 很容易,但这使排位变得更加困难,因为每个人都解决了很多问题.速度在这里是最重要的。永远不要在任何问题上浪费超过一两分钟。这些问题基于诸如 c 程序的输出、指针运算、一般能力(其中很多)、操作系统、网络等主题。 (大约 5 个)来自 ECE 等的问题。
入围后,对每位候选人共进行了 4 轮面试。
第 1 轮:- 这是简历审查轮,他们会问你关于你的简历和项目的所有问题。我有几个 Web 开发项目,所以我被问到部署网站的详细步骤。然后他们问了反向代理,转发代理等。我被问及网络的基本概念,如子网、超网等。他们问我如何在需要时为我的家庭和办公室设置网络。将采取哪些步骤来确保网络安全。他们问关于一些网络设备,如路由器、交换机、网桥等。这一轮结束时,他们要求我设计一个linkedin 配置文件改进推荐系统(我的简历中有一个 github 配置文件分析系统)。
第 2 轮:- 这一轮是技术轮。我被要求编写归并排序、堆排序和快速排序的代码,并给出一个在现实生活中我更喜欢使用彼此的实例。然后我被问到一些DBMS 查询涉及从数据库中获取选定数据。在此之后,他们要求我设计 twitter 等公司使用的 REDIS 服务器以及他们使用它的原因。然后我被问及 facebook 和 google 使用的身份验证机制。最后一个问题是关于 facebook 如何存储其拥有的大量数据,以及他们是否在其分布式服务器上使用任何特定的缓存机制(如果是,使用哪种机制)来改善用户体验。
第 3 轮:- 这轮又是技术轮,涉及编码问题。问题很简单,但请确保您编写干净的代码并在代码中包含大量注释。它们非常重视您的编码风格。问题问的是:-
1) 在单次遍历中从链表的末尾找到第 n 个元素。
2) 找出给定的树是否是另一棵树的子树。
3) 执行就地删除字符串的所有空格。
4) 设计一个有效的散列函数,最大限度地减少可能发生的冲突。
你应该试着把所有这些都弄对。确保建议的方法是最佳的(空间和时间)。
第四轮 :- 这是人力资源轮。如果你通过这一轮,你有99.9%的机会被选中。他们会问你工作地点和时间偏好,你是否对公司有任何疑问或者工作环境,关于你的家庭,你的兴趣等等。