2021-03-23

腾讯面经

c/c++技术问题

1.1. 1:c++
A1: 是否知道字节序? 网络字节序与主机字节序的差异(大小端字节序) [字节序]
A2: 是否知道字节对其, 为什么需要字节对其? short int fload double对齐的方式[字节对齐]
A3: [c基础]
{
char *p = new char[10];
printf("%d\n", sizeof§);
}

A4: 几种主要stl容器背后的数据结构(数组、链表、RBTree)[stl]
A5:malloc是如何进行内存分配的.[内存分配]

A6: 变量的声明和定义有什么区别?
A7:const的作用
A8:头文件中的 ifndef/define/endif 干什么用?

A9:STL常用容器,时间复杂度

B1: 在编写C/C++程序的时候是否可以改变编译器默认的字节对其方式, 怎样实现[字节序]
B2: IntelX86采用什么字节序[字节序]
B3:关键字static的作用

分布式

2.1. raft/paxos 协议的原理?存在哪些问题?怎么优化?★★★★★
raft/paxos只是日志同步,那怎么基于raft/paxos 做高性能的强一致系统?★★★★
如何扩缩容?★★★

网络&Linux

3.1. A1:tcp3次握手具体过程,具体原因 [网络]
A2:time_wait出现在那个阶段, 哪一端 [网络]
A3:UDP相比TCP有什么优点 [网络]
A4: Linux常用命令[linux]
A5: Linux机器查看负载, 考察下top; 创建某个子目录下的目录,考察下make -p [linux]
A6: tcp4次释放的具体过程
A7:tcp3次握手具体过程,tcp4次释放的具体过程 [网络]
A8:七层协议 常用协议都在哪些层 [网络]
A9:TCP和UDP的区别 [网络]
A10: select和epoll区别 优势
A11: 长连接和短链接

A12: 文件权限 [linux]
A13: 远程拷贝 [linux] scp
A14: GCC调式 [linux]

B1: Tcp流量控制,拥塞控制 [网络]
B2:TCP滑动窗口的实现机制 [网络]
B3: 阻塞与非阻塞, c/c++如何实现一个非阻塞server(考察下select or epoll, poll等)
https://blog.csdn.net/xiaofei0859/article/details/74084410

B4: socket建立服务流程
B5:边缘触发和水平触发
B6: 慢启动

C1: tcpdump, vmstat, pstree, awk等 [linux]

算法(尽量多问下更多的解决方案)

4.1. A1: 排序算法,时间复杂度
A2:快速排序/堆排序 时间复查度
A3:二分查找/归并查找 时间复杂度
A4:收索算法:DFS、BFS的时间复杂度
A5:图的便利

B1: 二叉树,如何找两个节点的最小公共节点(时间复杂度)
B2: Hash/多阶hash/一致性hash
B3: B树

项目

5.1. 面试者在项目中担当的职责和负责的主要模块
基于这个模块的涉及细节询问, 实现是否最优, 是否有瓶颈, 是否有更优的解决方案
6. mysql
6.1. A1: 什么情况下需要索引, 为什么能够提高查询速度?(考察下是否理解索引)
A2 联表操作
A3 索引问题
A4 innodb和mysam区别

B1 锁问题

操作系统

7.1. A1:进程间的通信方式
A2: 堆栈
1.2 调度
进程切换实际要做什么工作?如果了解协程,那协程切换又是怎么搞的?★★★
1.3 文件系统
操作系统从一个文件名,读取到具体的文件内容,实际干了什么事情?★★★★

http协议

8.1. A1:输入www.qq.com到看到腾讯网首页, 里边经过了哪些步骤, 分别使用了一些什么网络协议?
A2:301与302 的区别
A3: https通信流程, 为什么能保证通信安全
http在弱网络具体会有哪些问题?怎么解决?

如何设计一个合理的接口

9.1. 可读性:restful和语义化
安全:API签名认证、网络限制、加密传输、黑白名单等
健壮性:尽量返回清晰的错误码列表(比如资源notfound错误码设计为404xx)
可用性:设置限流、降级、超时等机制
性能:集群部署,负载均衡、容器化
监控:记录请求日志、打点上报、错误告警,便于定位问题
易用性:接口选填必填项描述准确,提供文档、测试工具
兼容性:用v1/v2区分新老接口,分清接口职责,当老接口参数过于复杂时,考虑提供新版本接口。

内存

10.1. 说一下进程里的内存,是组织、管理的,例如申请一块内存,操作系统具体会做什么? ★★★✰

说一下逻辑内存地址,是怎么映射成物理内存地址?★★

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值