作者:勿忘心安~~
链接:https://www.nowcoder.com/discuss/197611
来源:牛客网

1 C++基础:

 (1)多态是怎么样的?写个样例?

  https://www.cnblogs.com/yichengming/p/11427811.html

 (2)c和c++的区别

  https://www.cnblogs.com/yichengming/p/11427890.html

 (3)什么是虚函数?什么是纯虚函数?

  虚函数是允许被其子类重新定义的成员函数

  虚函数的声明:virtual returntype func(parameter);引入虚函数的目的是为了动态绑定;

  纯虚函数声明:virtual returntype func(parameter)=0;引入纯虚函数是为了派生接口。(使派生类仅仅只是继承函数的接口)

 (4)基类为什么需要虚析构函数?

  防止内存泄漏。假如没有虚析构函数,释放一个由基类指针指向的派生类对象时,不会去触发动态绑定,则只会调用基类的析构函数,不会调用派生类的析构函数。派生类中申请的空间则得不到释放导致内存泄漏。

 (5)当i是一个整数的时候i++和++i哪个更快?它们的区别是什么?

  考虑内建数据类型时,它们的效率差别不大(去除编译器优化的影响)。所以在这种情况下我们大可不必关心。
现在让我们再考虑自定义数据类型(主要是指类)的情况。此时我们不需要再做很多汇编代码的分析了,因为前缀式(++i)可以返回对象的引用,而后缀式(i++)必须产生一个临时对象保存更改前对象的值并返回(实现过自定义类型++运算符定义的就知道),所以导致在大对象的时候产生了较大的复制开销,引起效率降低,因此处理使用者自定义类型(注意不是指内建类型)的时候,应该尽可能的使用前缀式地增/递减,因为他天生体质较佳。

  此外,++i返回的是对象的引用,是一个可以修改的左值。

 (6)当i是一个整数的时候i++和++i哪个更快?它们的区别是什么?

  reserve()用于让容器预留空间,避免再次分配内存;capacity()返回在重新进行分配以前所能容纳的元素数量。

 (7)如何初始化const和static数据成员

  通常在类外申明static,但是static const的整型(bool,char,int,long)可以在类中声明且初始化,static const的其他类型必须在类外初始化(包括整型数组)。

 (8)static和const分别怎么用,类里面static和const可以同时修饰成员函数吗?

  https://www.cnblogs.com/yichengming/p/11428100.html

 (9)指针和引用的区别

本质上的区别是,指针是一个新的变量,只是这个变量存储的是另一个变量的地址,我们通过访问这个地址来修改变量。

而引用只是一个别名,还是变量本身。对引用进行的任何操作就是对变量本身进行操作,因此以达到修改变量的目的。

注:

(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:
int a=1;int *p=&a;
int a=1;int &b=a;
上面定义了一个整形变量和一个指针变量p,该指针变量指向a的存储单元,即p的值是a存储单元的地址。

而下面2句定义了一个整形变量a和这个整形a的引用b,事实上a和b是同一个东西,在内存占有同一个存储单元。

(2)可以有const指针,但是没有const引用(const引用可读不可改,与绑定对象是否为const无关)

注:引用可以指向常量,也可以指向变量。例如int &a=b,使引用a指向变量b。而为了让引用指向常量,必须使用常量引用,如const int &a=1; 它代表的是引用a指向一个const int型,这个int型的值不能被改变,而不是引用a的指向不能被改变,因为引用的指向本来就是不可变的,无需加const声明。即指针存在常量指针int const *p和指针常量int *const p,而引用只存在常量引用int const &a,不存在引用常量int& const a。

(3)指针可以有多级,但是引用只能是一级(int **p;合法 而 int &&a是不合法的)

(4)指针的值可以为空,但是引用的值不能为NULL,并且引用在定义的时候必须初始化;

(5)指针的值在初始化后可以改变,即指向其它的存储单元,而引用在进行初始化后就不会再改变了。

(6)"sizeof引用"得到的是所指向的变量(对象)的大小,而"sizeof指针"得到的是指针本身的大小;

(7)指针和引用的自增(++)运算意义不一样;

(8)指针使用时需要解引用(*),引用则不需要;

  (9)什么是

  • emplace / empalce_front / emplace_back
  • 面向对象的?面向对象的特性?有什么优点,比面向过程的语言好在哪?
  • C语言是怎么进行函数调用的?
  • C语言参数压栈顺序?
  • C语言如何处理返回值?

2 操作系统

  (1)进程间七大通信方式

    管道(Pipe)、命名管道(Named pipe)、信号(Signal)、消息队列(Message queue)、共享内存(Shared memory)、套接字(Socket)、信号量(Semaphore)

  https://blog.csdn.net/zhaohong_bo/article/details/89552188

  命名管道和无名管道

  • 堆栈溢出
  • 进程和线程(https://www.cnblogs.com/qianqiannian/p/7010909.html)
  • 守护进程、僵尸进程、孤儿进程,守护进程的作用是什么?
  • · 协程
  • 一个文件被删除了,没有被释放是什么原因呢?
  • 弱类型、强类型、动态类型是什么(https://blog.csdn.net/endlessseaofcrow/article/details/80350347)
  • 自旋锁(https://baike.baidu.com/item/%E8%87%AA%E6%97%8B%E9%94%81/9137985?fr=aladdin)
  • · OPEN的过程
  • READ的过程
  • WRITE的过程     (https://blog.csdn.net/csu_max/article/details/38623053)
  • 操作系统是如何调度进程呢(https://blog.csdn.net/qq_35642036/article/details/82809812)
  • 消息队列
  • · malloc函数具体实现原理
  • 死锁的原因?条件?如何预防?又如何避免?如何解除?

3 TCP网络

  • 概率题

假设一段公路上,1小时内有汽车经过的概率为96%,那么,30分钟内有汽车经过的概率为?

  • 字节序与网络字节序
  • 超时重传、快速重传
  • 客户端服务器通信死锁如何处理?

1) HTTP协议与TCP/IP协议的关系

2) 如何理解HTTP协议是无状态的

3)什么是长连接、短连接?

4)TCP协议的长连接和短连接优点和缺点

  • · 什么是MD5?
  • · 阻塞式IO使用场景
  • · 什么是TCP粘包
  • · 拒绝服务攻击DOS
  • XSS,SQL
  • · HTTPS建立连接的过程
  • 常用的HTTP请求头与响应头

HTTP请求头:

HTTP响应头:

TCP是如何保证有序传输的?

  • · POST可以获取数据吗?就是实现GET方法?

4 数据结构与算法:

  • 堆排序和快速排序 or 快排为什么快呢?
  • 哈希表如何设计?需要利用到磁盘空间。
  • STL中hash_map扩容发生什么?

5 数据库

  

6 其他知识

  • UTF8和GD2312的区别
    • C++多线程对10个文件进行排序

C++面试问题汇总的更多相关文章

  1. 2016年Web前端面试题目汇总

    转载: 2016年Web前端面试题目汇总 以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢 ...

  2. 前端面试题目汇总摘录(JS 基础篇)

    JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...

  3. Java面试知识点汇总

    Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总   版权声明 ...

  4. 前端教程&开发模块化/规范化/工程化/优化&工具/调试&值得关注的博客/Git&面试-资源汇总

    内容精简 资源这么多,多看看多学习再总结肯定是好的.多读读就算看重了不算浪费时间,毕竟一千个读者就有一千个林黛玉,还有温故而知新,说不定多读一些内容,就发现惊喜了呢.不过,在此也精简一些内容,就1~2 ...

  5. ES6面试 知识点汇总(全)

    近期在复习ES6,针对ES6新的知识点,以问答形式整理一个全面知识和问题汇总.(全干货,适合对ES6有一定理解的同学复习,以及ES6面试.) 一.问:ES6是什么? 答: ES6是新一代的JS语言标准 ...

  6. OC 面试问题汇总

    OC 问题汇总: 1. 你如何理解 iOS 内存管理   1. new alloc copy retain这些对象我们都要主动的release或者 autorelease   2. 如果是类方法创建的 ...

  7. Web前端面试题目汇总

    以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中有一些未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢迎指正,水平有限,望各位不吝指教.: ...

  8. Linux后台开发面试问题汇总

    个人从事安全后台开发,当然是linux环境下的了.举几个常见的问题.1. 数据结构基础.比如实现一个最简单的哈希表.2. 操作系统基础.linux进程模型,堆/栈的区别,大概的位置,各往哪个方向生长, ...

  9. Angular 2的12个经典面试问题汇总(文末附带Angular测试)

    Angular作为目前最为流行的前端框架,受到了前端开发者的普遍欢迎.不论是初学Angular的新手,还是有一定Angular开发经验的开发者,了解本文中的12个经典面试问题,都将会是一个深入了解和学 ...

  10. 【转】Java方向如何准备BAT技术面试答案(汇总版)

    原文地址:http://www.jianshu.com/p/1f1d3193d9e3 这个主题的内容之前分三个篇幅分享过,导致网络上传播的比较分散,所以本篇做了一个汇总,同时对部分内容及答案做了修改, ...

随机推荐

  1. HTTP攻击与防范-命令注入攻击

    实验目的 1.了解命令注入攻击攻击带来的危险性. 2.掌握命令注入攻击攻击的原理与方法 3.掌握防范攻击的方法 实验原理 1.了解命令注入攻击攻击攻击带来的危险性. 2.掌握命令注入攻击攻击攻击的原理 ...

  2. 能无缝嵌入Excel的报表工具,报表轻松做!

    现在很多人做数据分析会被推荐选择去用编程R和Python.PowerBI.Tableau.Qlik.Smartbi... 从目前数据分析的行业来说,Excel是世界上使用人数最多的报表分析工具,没有之 ...

  3. 你别告诉我你还在用Excel做数据透视分析吧,太low了!

    来到大数据分析的时代,大量的大数据分析软件涌现,尽管如此,如果今天有人问起最常用的数据透视分析工具是什么的时候,我猜想Excel应该是大家的不二之选. 但是其实我想说,用现在的手机来打比方,Excel ...

  4. 第九周shell脚本编程练习

    转至:http://www.178linux.com/88838 1.写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin):分别这两 ...

  5. Python:读取Excel 不带第一行标题

    #根据第0到第1列进行重建 0-X 1-Y PX=sheet_name.col_values(0)[1:] PY=sheet_name.col_values(1)[1:] 读取的某一列后在后边加[1: ...

  6. net core or Linux

    某用户执行net core sdk 版本不生效 sudo chmod +x /home/username/netcore3.1sdk/dotnet //某个用户执行新版本net core sdk

  7. mplus数据分析:增长模型潜增长模型与增长混合模型再解释

    混合模型,增长混合模型这些问题咨询的同学还是比较多的,今天再次尝试写写它们的区别,希望对大家进一步理解两种做轨迹的方法有帮助. 首先,无论是LCGA还是GMM,它们都是潜增长模型的框框里面的东西: L ...

  8. Spring Cloud Ribbon 中的 7 种负载均衡策略

    负载均衡通器常有两种实现手段,一种是服务端负载均衡器,另一种是客户端负载均衡器,而我们今天的主角 Ribbon 就属于后者--客户端负载均衡器. 服务端负载均衡器的问题是,它提供了更强的流量控制权,但 ...

  9. ospf应用简单

    ospf应用简单 OSPF (SPF) 属于链路状态路由选择协议,并且是公有标准, 理论上是没有网络规模限制的: 支持网络的层次化设计,可以将网络分为2层.   层,是通过"区域" ...

  10. CF1428B题解

    打比赛的时候sb了,用了一个似乎原本可以不用的东西来找环... 首先,根据题意,我们可以连成一张图,而蛇能不能回到自己的家, 只需要在一个环上就行了. 问题是怎么找环,我用了 Tarjan... 具体 ...