报名了Cisco -EDS的岗位,2014年11月1日(周六)笔试,笔试题大概分:C/C++、Python、Alogrithm&os、Database、Java、Network几部分,考试时间70分钟,当然不是全做,根据岗位不同限制/自选其中的2部分或4部分。题目出的都挺有深度的,全英文全选择(有多选),答对得1分、不答不得分、答错扣0.5分。
然后在11.7日收到了面试通知,面试岗位为System Administer - EDS(思科信息技术部),要到上海思科(新思大楼)面试,报销来回车费。当然欣然接受了。
新思大楼20多层,都是思科的,办公环境典型的外企风范,休息区也不错。安排的是15:30,14:00就到了,等了一会就开始面试,1v1,全是技术面,有的面了3面,我面了4面,基本都是中文面试,每一面大概30多分钟。大概问道的问题总结如下,供大家参考:
一、二面:关于Linux Shell编程的一些问题:面试官描述问题,让用shell命令解决,第一个面试官还要现场在MAC上编写。比如:
用shell编写数组的输入输出;有一个文件,第一列存主机名,第二列为IP地址,如何输入主机名返回IP地址,shell编写实现;
如何查看某个进程所占的内存及CPU的使用;说出20个 shell命令;一个文件只有1列数据,如何用shell求这1列数据的加和;
ssh登录时每次需要登录密码,如何设置使其自动登录而不需要输入密码;
对100G的数据进行排序,采用什么方法,如何排序,时间复杂度是多少。
三面:前面的面试感觉如何,为什么报这个岗位,对此岗位的认识,然后很nic'e的面试官介绍面试将从以下三个方面进行:操作系统、网络、编程。
说出操作系统课程中主要涉及的内容;画出你所知道的一种文件系统的结构,画出数据在硬盘中的存储结构,由于我画的是linux VFS,面试官就接着问了下去superblock的数目相关的几个问题:比如有一个目录,被挂在到另一台电脑上的两个目录上,他们有几个superblock,这几个超级块有什么关系。
虚拟地址,为什么要用虚拟地址,虚拟地址到物理地址的转换,线性地址、逻辑地址、物理地址关系,TLB的全称,TLB什么时候会失效。
cache失效时什么?什么情况下出现失效。感觉面试官对于这方面理解的很透彻,他还给我讲,cache是个古老很有用的技术,建议我去详细看一下cache的实现以及文件系统的设计。
任务间通信的手段,spinlock的缺陷(忙等待与cache命中低),以及如何进行改进。然后给我讲如何从cache的角度进行程序内存优化。多核处理器中,多个核访问DDR,是由什么硬件进行控制的。
什么是ARP协议,位于网络体系结构的哪一层?什么是ARP病毒,网络管理员如何快速有效的解决ARP病毒(禁止除了网关以为的主机发送ARP应答)。
四面:主要问关于C/C++的内容new、malloc的区别,单例类,如何使堆里的内存自动释放,多线程中栈是共享么?
vector是如何实现的,数组和链表的区别,插入语删除的时间复杂度,vector插入n个元素的时间复杂度。
一点点的英语面试;介绍自己的家庭。英语对话,南京和上海、为什么报上海等。
总结:面试到的很多问题都需要对知识的一个比较深入的理解,由于面试的岗位以及简历的原因,被问到很多知识都不怎么会,大多只知道皮毛没有深入的理解。通过这次面试也学到了不少知识。不虚此行。