面试例题总结

1.C和C++的区别,优缺点?

  1. c语言是面向过程,而c++是面向对象的,所以c语言没有面向对象的封装,继承多态,也不支持面向对象的一些语法
  2. c++支持函数重载、内联函数、引用,c语言不支持
  3. c语言中如果函数没有任何参数需要将参数定义为void以此来限定函数不可传递任何参数,如果不进行限定让参数表默认为空就表明可以传递任何参数。c++中不带参数的函数表示不能传递任何参数。
  4. c语言struct中不能有函数,c++中可以有
  5. c语言函数参数不支持默认值
  6. c语言采用malloc和free函数动态申请和释放内存,而c++使用new和delete运算符
  7. c语言中只有局部和全局俩个作用域。c++中有局部,全局,类,名称空间作用域。

3、了解STL吗?讲解一下里的vector、list

4、讲一下指针和引用的区别?(必考)

  1. 指针是实体,占用内存空间;引用是别名,与变量共享内存空间。
  2. 指针不需要初始化或初始化为NULL;引用定义时必须初始化。
  3. 指针中途可以修改指向;引用不可以。
  4. 指针可以为空;引用不可以。
  5. sizeof(指针)计算的是指针的本身大小通常为4;sizeof(引用)计算的是它引用对象的大小。
  6. 如果返回的是动态分配的内存或对象必须使用指针;使用引用会产生内存泄漏。
  7. 指针使用时需要解引用;引用不需要。
  8. 有二级指针,没有二级引用。

5、对多态的理解?如何实现?

静态多态,动态多态,实现原理,虚函数,虚函数表

在现实生活中,多态是同一事物在不同场景下的多种形态。在面向对象中,动态多态是指通过基类的指针或引用,在运行时动态调用实际绑定对象函数的行为,与之相对的编译时绑定的函数称为静态绑定。

  1. 静态多态是编译器在编译阶段完成的,编译器会根据实参类型来选择调用适合的函数,如果有合适的函数就调用,没有就发出警告或报错。
  2. 静态多态有:函数重载,运算符重载,泛型编程
  3. 动态多态是在程序运行时根据基类的引用(指针)指向的对象来确认自己具体该调用哪一个类的虚函数,当父类引用(指针)指向父类对象时,就调用父类中定义的虚函数;当父类引用(指针)指向子类对象时,就调用子类中定义的虚函数。

6、对继承的理解?如何实现?

7、双向链表插入一个节点如何操作?

 

. 在C++开发中定义一个变量,若不做初始化直接使用会怎样?

  1. 当局部变量没有被初始化时,系统不会对其进行初始化。定义全局变量的时候,系统会对其进行初始化。
  2. 结果不可预测。
  3. 存在潜在的安全问题,比如未初始化的指针访问可能会造成内存访问错误。
  4. 编译器会警告使用了未初始化的变量。

3. 程序出现崩溃,如何调试?

最常见的崩溃问题就是内存问题,内存越界,访问空指针,野指针。

程序崩溃的调试方法及原因分类_阿发你好的博客-CSDN博客

4. 一个程序是否创建线程越多越好?怎样决定创建线程的数量?(CPU密集型程序、I/O密集型程序、专业化)

单核CPU处理CPU密集型程序,这种情况并不太适合使用多线程。

线程等待时间所占比例越高,需要越多线程;线程CPU时间所占比例越高,需要越少线程。

最佳线程数 = (1/CPU利用率) = 1 + (I/O耗时/CPU耗时)

CPU利用率越大线程数越多。

面试总被问,创建多少个线程合适?真的越多越好吗_线程池是不是越多越好_Pang文的博客-CSDN博客

5. 一个进程可以访问另一个进程的内存数据?

如果是父进程和子进程的关系,子进程可以访问父进程的部分内存数据。

6. OS怎样保证每个进程有独立的空间?

7. 打开百度网站过程涉及哪些协议?

HTTP :当在浏览器中输入网址时,浏览器就会发送Http 的请求到百度的服务器,请求获取网页内容。http协议定义了客户端和服务端之间的通讯规则和格式。

dns:在发送http请求前,浏览器需要将百度的域名(url)转换为服务器的IP地址。浏览器会向dns服务器发送请求,以查询与百度域名对应的IP地址。

tcp/ip:tcp/ip协议是互联网通信的基础协议。在打开百度网盘时,http请求会被封装在tcp/ip协议中进行传输。tcp协议提供可靠的连接,确保数据的完整性和顺序。ip协议则将数据包传输到目标服务器的IP地址。

ssl/tls:当使用https访问百度网盘,通信将采用ssl/tls协议进行加密,确保数据传输到安全性 。ss/tls协议采用公钥加密和私钥加密的技术。防止数据在传输过程中被窃听或篡改。

8. 说说STL常见容器

9. TCP/IP传输过程中为什么要分片传输?

10. TCP的拥塞控制如何判断当前网络情况?

11. 智能指针的内存管理机制?

12. 了解哪些单例模式?讲一下单例模式

13. I/O多路复用机制的优势?

3.对shell命令了解吗?

4.找到服务a的运行目录所涉及的命令?

5.找访问的某个ip端口的top5的ip地址命令

6.sql语句发现运行慢,如何优化

7.wesocket怎么工作的?怎么保持的长连接?用的什么协议?

9.协程和线程的区别?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值