面经详情

当前内容设置为仅微信小程序内可见

前往微信小程序

相关推荐

匿名用户
Software Engineer
未通过感觉没戏
面试过程:之前通过了思科的笔试,挺难的,错了还要扣分,但最后还是幸运的拿到了面试通知,面试通知是说11月8日在漕河泾新思大楼里面试,我还将时间改成了早上,结果等了还挺久的,才被叫到第一轮,第一轮是个30岁的女主管,很甜,一直带着笑容,问了一些简历上得项目,看我表达很好,说为什么不尝试做些consulting的职位,于是我就陷入了圈套,说这是我的规划,可是我投得是软件工程师,因为思科比较重技术,管理层都是技术转的,所以显然这不是一个好答案,中间会有英文问题,因为我本硕均在英国,所以英语面试我还是挺喜欢的。 第二轮是部门老大,也是问了我的简历,然后问了我 如果给你一个task你觉得很难怎么办?我回答的是按照 电影里的桥段来说的: I am the type of person who is determinate. If you give me an assignment and I don't know the answer, I will answer you I don't know, but I know how to find it and will definitely find it out. 他说了一句:恩,这点很重要,于是顺理的进入了最后一轮。 最后一轮是个技术老大,也是我败在的一轮,简历问之后,问我TCP/IP的问题,我均顺利回答了,包括路由器和交换机的区别,WLAN 和VPN。C++的栈和堆, 虚函数的意义。我回答的都还可以,然后让我手写一个算法,因为我之前没用过C++ ,算法导论这块也没看过,他让我写的是找中位数的算法, 我只能用最基本的比较排序来写了,还是用matlab写的。。显然这不是一个好答案。。。最让我失败的是他说的我职业规划 consulting 和他们不太一样。。。我是陷入了第一轮的提问陷阱里了。。。这也是我面试没通过的最大失误...查看更多
包含1个问题,1个回答
Q:中位数的算法
2 年前 发布
匿名用户
软件工程师
未通过未通过
今天下午突然接到了思科打来的面试电话,毫无预兆,自己也没有心理准备。对方开始先问我现在方不方便做一个简短的面试(整个电面过程不超过15分钟,真的够简短了……),其实当时我完全可以跟对方说不方便,再约个时间的,但是既然都打来了,也想测试一下自己的在无准备情况下的应急能力,就跟对方说可以面试了。问题都不难,都是一些基础的问题,可能看我简历上写的都是C++和C#的,然后面试官可能也没怎么用过C#吧,就多数都是问我C++,不过真的都不难。过程中没有问过算法题,这点我比较郁闷,因为思科做路由器交换机这些的,而他问到我这些的时候,我基本都不懂,如果问我一些算法题说不定还能加些分呢。过程中的题目都不难,但是答得不太好,感觉都没说到重点上,也因为是电话面试,看不到面试官在听了我的答案后的反映,不知道是不是满意了。不过面了这么短时间,估计机会不大。下面回忆下今天问到的一些问题吧,也当作是积累。 1、说说C++和C#的区别 语言性质: C#是一种完全面向对象的语言,而C++不是,C#是基于IL中间语言和.Net Framework CLR的,在可移植性、可维护性和强壮性方面都比C++有很大的改进(这点我觉得在目前来说没有什么实际意义,因为目前为止,微软都好像没有推出基于除Windows以外的.net framework,C#也一直只能在Windows平台上使用) 开发效率: C#的设计目标是用来开发快速稳定可扩展的应用程序,当然也可以通过Interop和Pinvoke来完成一些底层操作,但是对于一些和底层系统相关很密切的程序(比如驱动程序),还是C++有优势。 委派构造函数: C++不允许在一个构造函数中调用另外一个构造函数(称为委派构造函数),而C#则允许。委派构造函数调用语法上非常自然易懂,事实上,C++不提供这一特性并不是出于语法上的考虑,而是出于资源管理的考虑。C++的构造函数用于分配资源,而析构函数用于释放资源,构造函数和析构函数调用必须匹配,否则就打破了C++的基本规则。如果允许委派构造函数调用,则会打破这一规则——构造函数被执行两次,而析构函数只执行一次。 虚函数的调用规则: C++在构造函数中,虚函数的调用会被编译器自动转为普通函数调用,而在C#构造函数中允许进行虚函数的调用。C++这样处理自然有它的原因,在C++中,构造函数执行完成后对象才初始化,对于多态来说,也就意味着构造函数在背后执行了很重要的一件事情——初始化对象的虚函数表。如果我们在基类的构造函数中调用虚函数,则因为此时对象的虚函数表仍旧是基类的虚函数表,所以无法进行正确的虚函数调用。而在C#中,在对象的构造函数执行之前对象的类型信息已经初始化好了,所以可以进行正常的虚函数调用。 2、你觉得C#中有什么功能或者特性可以移植到C++中 这个问题是开放性的,我当时也没答好,平常没思考过的话,在面试这么紧张的环境下要能自圆其说也是很难的,大家自己思考下吧,这个应该是要考察你的思维的。 3、C++虚函数的实现机制,为什么构造函数不能是虚函数?析构函数可以吗,如果可以,虚析构函数有什么作用? 这个问题也不是很难,可能考虑的比较少的就是为什么构造函数不能为虚函数,当时我就没回答出这个。 其实看了第一题的答案,多多少少也能说出点了,构造函数就是用来初始化虚函数表的,既然是用与初始化虚函数表,自己又怎么可能是虚函数呢。 接着我们从虚函数的调用规则方面分析,虚函数的调用是“向前”和“向外”进行的,它能调用在派生类中的函数,而派生类中的函数有可能会访问基类的成员。加入构造函数可以为虚函数,那么我们调用的函数就可能操作还没有被初始化的成员(调用了派生类的构造函数,操作基类成员,但是基类的构造函数并没运行,成员没被初始化!),这将是异常灾难! 后面的问题都不是很难,真的都是很基础很基础的东西,期间有些linux的问题,但是本人确实缺乏这方面的经验,一直以来都是在Windows平台上做开发的(.Net),所以可能给扣了不少分 4、什么是深拷贝和浅拷贝 5、TCP和UDP的区别 最后,面试官让我讲讲自己的项目经历,讲完以后也没就我的项目问相关的问题,估计是觉得我做的没什么亮点,没什么可问的吧。整个面试过程就这样结束了,大约15至20分钟。总结起来,面试还是有准备的好,以后收到那种突击型的电话面试,还是精明点说当时不方便,要求再约时间。这样可以让自己做下针对性的准备。...查看更多
包含1个问题,0个回答
Q:你觉得C#中有什么功能或者特性可以移植到C++中 C++虚函数的实现机制,为什么构造函数不能是虚函数?析构函数可以吗,如果可以,虚析构函数有什么作用?
2 年前 发布

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网思科(Cisco)思科(Cisco)面试经验思科(Cisco)面试经验:早上9点开面,先做了...