您的位置:首页 > 其它

【面经】腾讯秋招电话一面

2016-08-22 20:41 295 查看
【过程】

七点不到半点接到电话,开始话面:

问: C++重载、重写是什么?怎么实现的?

答:重载是编译期编译函数时,根据参数类型和个数来决定编译出的函数符号,从而实现重载(C不支持重载);重写是针对C++多态,通过虚函数表实现。

问:如何写一个类,使其不能被继承?

答:C++1标准支持final关键字,通过它可以限制;另外一个方法是通过模板(具体见《剑指offer》,当时没有答出来)。

思考:不能被继承,那么就不能让子类可调用基类的构造函数,但必须考虑的是,不能影响正常的类实例化。

问:memcpy 声明是怎样的?如何实现?

void *memcpy(void *dest, const void *src, size_t n);
答:如上(当时有点紧张,说成char类型了;还说有memncpy= =,尴尬),实现memcpy 要考虑内存存在重叠的问题。

问:字符串删除,不能乱序。

答:扫描字符串,用两个指针,一边扫描一边复制,这样时间复杂度是O(n)。

思考:当时没有真正GET到题意,就开始含糊的说,到后面才知道是删除所有重复字符,搞到很尴尬。

问:查找树节点到跟节点的路径。

答:遍历树,用栈保存路径。

【总结】

1.一面感觉很注重基础,在学习知识时必须了解其原理,多思考。

2.面试过程决不能慌,对面试官的问题有疑问,一定要问。

3.对不真正了解的东西,不要随意说出来,不然面试官会问你。(比如上面我说模板可以解决这个问题,但实际怎么做我忘记了,当面试官问怎么实现,我也没回答出来)

4.面试前的几天不要玩,一定全面沉醉在学习当中,不然毫无状态啊!(不过,当时我也是没意想到有画面,放假这几天在玩)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: