面试易迅总结

2015.04.27

今天电话面试了易迅,工作之后的第一次面试。虽然问题回答的不是很满意,但是面一次心里就有低了,收获也不少。

总结下今天的面试问题:

C++方面基础知识方面

1.const_cast, dynamic_cast, static_cast相关

答:参见这篇博文

2.智能指针相关:share_ptr, auto_ptr, week_ptr.

答:参见这篇博文

3.如何实现动态绑定?

答:虚函数。

4.try……catch……方面的内容。

答:需要学习下。

数据结构和算法方面

1.什么是跳跃表?

答:需要查下

2.map, vector的内部实现原理?红黑树的实现原理?

答:需要学习下

3.quick sort的复杂度在什么情况下由NlogN变为N^2?

答:情况一:数字刚好逆序排列。情况二:pivot选的不好,每次都将本组元素分为一个和另外n-1个。需要再研究下

4.對排序中建堆的复杂度为了logN, 总体的复杂度为NlogN.需要搞清楚!

答:建堆的复杂度为logN, N个元素需要重新整理堆N次,所以总的复杂度为NlogN。

5.单链表问题

@1.如何查找一个单向链表中有环?

答:一个指针为p->next, 另一个指针为p->next->next,使用追击的法。但不知道有没有更好的办法?

@2.如何计算该环中有多少个节点?

答:在上面的基础之上,当追击上之后,定住一个指针,是另一个继续,当两个指针在次相等时的计数即为环中node的个数。

@3.如何找到环的起始位置?

答:???

其他

1.开放的问题,列举你知道的数据结构。

答:按照《数据结构与算法》上的分类。

第一:集合。(集合中的元素除了属于一种类型,别无其他关系)

第二:线性结构:线性表,栈,队列(结构中的元素存在一对一的关系)

第三:树形结构:二叉树,查找树,平衡树,堆,B树,B*树,B+树,红黑树,R树

第四:图状结构和网状结构:图。

其他:hash table(two kinds of hash table:static and dynamic)、Bloom filter、Bitmap、trie树.

一定还有其他的,慢慢补充。

2.如何查找内存泄露。

答:使用Valgrid工具。

3.如何更容易的知道那个代码的哪个位置导致的内存泄露?

答:将new操作符包装一层,在其中使用C++自带的FILE,FUNCTION,LINE等宏,就会自动输出哪个函数调用了new操作符

4.网络知识:由于从来没有做过网络相关的东西,所以直接回答了对网络不了解。忘了大学也考过了计算机等级三,计算机网络。不过也忘完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值