QQ后台开发二面面经(40min) 4.2

自我介绍

算法:二叉树的中序遍历

拷打项目(20min),优化了什么瓶颈点

1.讲一讲TCP和UDP的区别,TCP是如何保证可靠传输的,如果有某个序列号的数据包一直重传失败怎么办

2.http和https,https是绝对安全的吗

3.Redis中的set和zset

4.C和C++中的内存管理(?没听懂这个

4.Java中是如何解决哈希冲突的呢,链表转换为红黑树的阈值

反问:做什么业务

全部评论
c/c++内存管理,对于c/cpp程序内存被划分成了这几个,代码区,全局数据区,只读常量区,堆区,共享区,栈区。前三区在程序编译后就确定了大小,对应elf文件的.text段 .data段 .rodata段 .bss段,其中.text段存储代码只读,.data存储可读写的全局/静态变量,rodata段存储只读全局/静态变量,未初始化的全局/静态变量则存在.bss段。栈区和堆区则是程序运行后动态增长,局部变量存储在栈上,生命周期结束后被回收,如何回收可以去了解一下函数栈帧。对于堆段,c可以使用malloc,cpp可以使用malloc与new。实际上new调用的也是malloc,如果new的是stl容器,会采用stl二级空间配置器分配空间,避免内存碎片。
1 回复 分享
发布于 04-10 08:56 安徽
感觉面试官不是很感兴趣gg了
点赞 回复 分享
发布于 04-02 19:57 北京

相关推荐

评论
2
7
分享

创作者周榜

更多
牛客网
牛客企业服务