服务端开发面试题

本文介绍了服务端开发面试常见的技术点,包括多进程多线程的区别、C++类默认生成的函数、volatile关键字作用、指针与引用的区别、C++中的多态实现、String类的实现、epoll的水平触发与边缘触发区别、select与epoll的对比以及文件描述限制等核心概念。
摘要由CSDN通过智能技术生成
服务端开发工程师常见面试题目

多进程多线程的区别
1.进程是资源调度的最小单位,线程是cpu调度的最小单位
2.数据共享和同步:多进程(数据共享复杂,需要ipc;数据是分开的,同步简单)多线程(共享进程数据,数据同步复杂)
3.内存,cpu: 多进程(占用内存多,切换复杂,cpu利用率低)多线程(占用内存少,切换简单,cpu利用率高)
4.编程调试:多进程(编程调试简单)多线程(变成调试复杂)
5.可靠性:多进程(进程间不会互相影响)多线程(一个线程挂掉导致整个进程挂掉)
6.分布式:多进程(适应于多核,多机分布式;如果一台机器不够,扩展到多台机器比较简单)多线程(适应于多核分布式)


c++类里面编译器默认生成的函数有哪几个?
1.构造函数
2.拷贝构造函数
3.赋值构造函数
4.析构函数

voliate关键字的作用
使用voliate声明变量值的时候,系统总是重新从它所在的内存读取数据;用voliate声明的变量表示该变量随时可能发生变化,与该变量有关的运算,不要进行编译优化,以免出错.
使用场景:多任务环境下各任务间共享的标志应该加v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值