富途C++ 后端面经

一面一共一个半小时,二面半个小时

发面经攒个人品,

9.27:二面挂

# 9.13富途一面,我把自己的回答也写上了,仅供参考,如果有错误的话欢迎大家指正

C++中堆和栈的区别:堆需要手动管理,栈由编译器负责管理,堆上的内存要用指针进行,栈分配和释放的效率更高,然后声明周期也不一样

引用和指针的区别

申请一个指针,对它进行赋值,c++是如何进行操作的:会调用对应的构造函数,然后返回对应类型的指针

指针常量和常量指针:常量(指向)的指针 int* const p;指向方向不可以改变

static的作用:静态存储区,作用域为当前文件,如果是修饰局部变量,作用域为局部作用域

静态变量什么时候初始化 :

静态初始化:是指用常量对变量进行初始化。在main函数之前进行初始化

动态初始化:会调用到函数来初始化的,比如构造函数,会在用到的时候在进行初始化。

unordered_map是如何实现的,开链法以及扩容:hashtable实现,为避免冲突,每个位置放一个桶,超过8则自动生成红黑树,扩容方式与vector类似。

vector的迭代器的实现:迭代器是类模板实现的,表现得像指针,迭代器返回的是对象引用而不是对象的值,且使用后就自动释放了

linux的进程调度算法,以及linux选用哪一种:默认使用Completely Fair Scheduler,红黑树存储,每个结点的key为虚拟时间,每次调度选择虚拟时间最小的,虚拟时间是通过一个与实际运行时间相关的权值表达式计算出来的。

常见的算法:先来先服务,短作业优先,轮转调度,优先级调度,多级反馈队列,最短剩余时间,最高响应比

操作系统切换线程的流程:1.保存上下文,包括程序计数器、寄存器和堆栈指针。2.根据调度算法选择下一个线程。3.恢复待执行线程的上下文。4.执行该线程

切换进程的过程:主要是涉及到地址空间不同,TLB(页表缓冲)中的内容可能很多都失效了。

不属于同一个进程的线程切换,代价和进程切换是一致的。

线程独占的:一些局部变量,寄存器和栈空间

多线程有哪几种实现方式:thread() pthread_t()

如何实现线程同步:互斥锁,信号量,条件变量

上锁来访问临界资源的步骤

服务器上cpu100%了如何定位问题:top命令,查看系统相关,进程相关,cpu相关的参数 ps命令:查看进程相关。 查看系统日志,找到原因后限制该资源的使用或者扩容。

服务端监听的程序:1.创建sockaddr\_in结构体,选择协议族、ip、端口号, 2.创建socket,并设置选项(比如端口复用)3.将socket绑定到sockaddr\_in, 4.调用listen函数将套接字设置为监听状态 5.在epoll上注册监听事件,

服务器的半连接队列和全连接队列:根据是否完成三次握手来分,都有最大长度限制,超过则丢弃。

Https和http的区别

Https如何建立连接

一个站点的TCP连接数上限:因为每个tcp都独占一个端口号,所以理论上限是65535(0号不能用),tcp连接有四个成员:源ip、源端口、目的ip、目的端口。如果前三者固定,那么最多就只有66535个连接,如果客户端端口不限,那么就是相乘。

服务器端如何辨别客户端的访问是同一个人:文件描述符 cookie Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

mysql的索引方式

sql中索引失效的场景:联合索引不满足最左匹配原则,索引列上有计算或者函数,字段类型不同,比如varchar类型的字段与数字比较就不走索引,但是与字符串比较就走索引,模糊匹配,如果%在最左

组合索引如何匹配:首先要有第一个字段,但是字段的顺序可以乱来,因为现在会自动优化

覆盖索引是啥:要查询的字段正好在索引中,不需要回表

mysql中的锁:行锁,间隙锁,表锁

sql语句执行顺序

acid的实现原理

事务隔离级别

可重复读如何实现

主从同步如何实现:binlog

MySQL的存储结构:表空间,段(包括数据段:即B+树的叶子结点,索引段:非叶子节点,回滚段),区(默认1M,64个连续页),页(InnoDB存储引擎磁盘管理的最小单元,默认16k),行

9.19二面

C++多态

多态底层实现

实现hash表

tcp和udp

tcp可靠传输靠哪些实现

udp传输一些大数据,后台数据包设置大小

udp数据包过大会有什么影响

tcp客户端和服务端建立长连接,客户端异常退出,会有什么影响

进程异常退出,操作系统应该怎么做

linux服务器许多连接处于timewait阶段

linux服务器上跑了很对进程,物理内存越来越少,对服务器有什么影响

物理内存不足,服务器,系统会怎么做

redis

如何实现redis的高并发

epoll底层如何实现处理海量请求

epoll为什么使用红黑树

就绪队列的作用

30个中文关键词,一篇文本文档,统计文本文档中出现这中文关键词的次数

全部评论
大佬,你二面后技术面结束了吗?还有技术三面吗?
1 回复 分享
发布于 2023-09-20 13:01 陕西
大家可以试试腾讯云智,hc多,不卡学历,而且面试不难,只要基础扎实,多准备准备很容易过———https://www.nowcoder.com/share/jump/26748809023214642
1 回复 分享
发布于 2023-09-20 23:37 湖南
可怕的收藏数
1 回复 分享
发布于 2023-09-21 23:31 北京
这也挂,好离谱
1 回复 分享
发布于 2023-09-27 20:19 江西
woc一个半小时,nb
点赞 回复 分享
发布于 2023-09-19 22:20 重庆
请问什么时候出结果有说吗?
点赞 回复 分享
发布于 2023-09-19 22:21 重庆
佬,太牛逼了
点赞 回复 分享
发布于 2023-09-19 23:26 黑龙江
牛逼
点赞 回复 分享
发布于 2023-09-20 00:46 江苏
一面面试官说2轮技术面,二面说3轮技术面,麻了
点赞 回复 分享
发布于 2023-09-20 02:14 江苏
可惜我笔试挂了,求唠一唠啊
点赞 回复 分享
发布于 2023-09-20 09:20 北京
这也太顶了把
点赞 回复 分享
发布于 2023-09-20 10:04 浙江
佬,一面没手撕吗?
点赞 回复 分享
发布于 2023-09-20 10:47 浙江
大佬,你觉二面答的怎么样?面试官明确告诉你下一面是hr面?
点赞 回复 分享
发布于 2023-09-20 14:28 陕西
我一面就半小时,还过了
点赞 回复 分享
发布于 2023-09-20 16:47 广东
这个面经太顶了,学会了好多
点赞 回复 分享
发布于 2023-09-21 01:10 广东
牛牛牛
点赞 回复 分享
发布于 2023-09-21 09:59 安徽
m,很有价值
点赞 回复 分享
发布于 2023-09-21 13:05 浙江
我是二面后约hr面,总体流程一周
点赞 回复 分享
发布于 2023-09-22 11:11 安徽
太牛了,佬
点赞 回复 分享
发布于 2023-09-22 12:39 北京
hxd你怎么知道自己被挂的,我也是国庆前9.26面的 现在还没有hr联系 查询流程也显示正在面试
点赞 回复 分享
发布于 2023-10-11 12:27 云南

相关推荐

37 268 评论
分享
牛客网
牛客企业服务