腾讯一面 0.9 凉面经

腾讯后台 一


介绍自己的项目(10分钟。。。


C++:

1.c, 2.c, 3.c三个文件

1.c中定一个一个全局变量int a

能在2.c中引用过来吗 (可以,extern


如果这三个文件里各定义一个全局变量,那他们初始化的顺序是怎么样的 (猜是根据文件名…毕竟makefile一般都是指定一个文件夹下所有的file编译link。。。大哥笑了一下说你回去可以看看,凉凉


如果1.c里有一个全局变量 int a, 那能不能在void main()里再定义一个a。(我说可以。。。

如果可以,那要怎么访问全局变量a

(我心想这大哥是不是debug遇到全局变量的bug了啊,怎么对这个这么执着


C++ 怎么实现多态 (virtual & CRTP

dynamic_cast怎么实现的 (不知道,但大胆预测是derived class 对象肯定是比base class大的,所以我觉得指针的starting addr是一样的,只是指针内还有一些具体offset的数据会根据derived class的实现调整。大哥说差不多是这样

Tcp 怎么实现拥塞控制

HTTP post和get有什么区别 (这个真不懂。。。只菜菜的做过一点web dev

了解什么树的数据结构,红黑树,AVL,二叉树,他们有哪些应用场景

熟悉linux指令吗,怎么定位死锁 ( top, ps查进程(瞎几把说的),紧接着说不过如果是我,我是会用gdb bt 几个怀疑的点然后backtrace一下


三天内答复….凉凉

#腾讯##面经##实习##内推##秋招##春招#
全部评论
第一题里关于多文件定义全局变量这个问题,答案应该是不确定的。可以参考Google C 编程规范,里面明确规定,禁止定义全局非POD类型的对象。原因就是多文件全局初始化顺序不确定。第二题里关于多态和dynamic_cast,这种继承关系的类会在头部几个字节添加runtime信息,具体是什么样的结构想不太起来了,侯捷老师翻译的《C 对象模型》里有详细的介绍。dynamic_cast有的实现好像是会去比较两个类的runtime信息是否一致,里面甚至会用到字符串匹配,所以dynamic_cast效率比较其他几种转换会低一些。dynamic_cast转换引用时,发生失败不会返回空指针,而是会抛出异常,如果用到一定要特殊处理一下。
点赞 回复 分享
发布于 2019-08-13 02:51
从我的括弧就可以看出我强烈的求生欲。。。所以ballball大哥别挂我呀,让我去二轮滑个水也好
点赞 回复 分享
发布于 2019-08-12 20:01
第一题,好像effective C++ 中有谈到
点赞 回复 分享
发布于 2019-08-12 22:23
是电话面试吗?
点赞 回复 分享
发布于 2019-08-12 20:19
第一题没碰到过,查了一下,是个坑😂,学习了!
点赞 回复 分享
发布于 2019-08-12 20:19
第一题有确定的初始化顺序??
点赞 回复 分享
发布于 2019-08-12 20:51
第一题感觉是根据编译时的文件名输入顺序吧。。
点赞 回复 分享
发布于 2019-08-12 21:41
a那个,使用全局作用福::
点赞 回复 分享
发布于 2019-08-12 22:10
HTTP post和get有什么区别  背的那几条回答也不行吗?
点赞 回复 分享
发布于 2019-08-13 11:42

相关推荐

评论
6
65
分享
牛客网
牛客企业服务