C/C++常考面试题(一)
这算是一个系列吧,记录一下在准备秋招期间,所准备的C++面试题,望秋招顺利。所有的面试题均来源于各大论坛,网络。
C/C++常考面试题(一)
- 常用的C++数据结构有哪些?
- vector,序列式容器,相当于数组,顺序表;
- list, 双向链表
- deque,双端队列,queue,队列,stack,栈,priority_queue,优先级队列
- map,set,multimap,multiset
- hashtable,散列表
- 图,树等等
- 什么是虚函数,多继承有什么问题
- 被virtual关键字修饰的成员函数,就是虚函数
- 多继承可能会发生重复继承的情况,从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致的问题,二义性的问题。解决办法虚继承
- 为什么要用虚析构函数,什么是多态
- 在多态中,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生
- 多态可以简单地概括为“一个接口,多种方法”,在程序运行的过程中才决定调用的函数。多态性是面向对象编程领域的核心概念。多态性是允许你将父对象设置成为和它的一个或更多的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单地说就是一句话,允许将子类类型的指针赋值给父类类型的指针。多态性在C++中都是通过虚函数(Virtual Function)实现的。
- 进程和线程的区别和联系
- 定义
- 进程是程序的一次执行,是程序在一个数据集合上运行的过程,是一个动态概念,是系统进行资源分配和管理的基本单位。
- 线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位,也称为轻型进程,是可执行的实体单元。
- 区别
- 地址空间和其他资源:进程间相互独立,同一进程的各线程间共享。某进程的线程在其他进程中不可见。
- 每一个进程都有一个自己的地址空间,即进程空间。进程空间的大小只与机器位数有关。一个进程崩溃后,在保护模式下不会对其他进程产生影响。而线程只是一个进程中的不同执行路径,每一个线程有自己的堆栈和局部变量,但是没有自己独立的地址空间,每个线程共享其所属进程的资源。一个线程死掉等于整个进程死掉,所以多进程的程序要比多线程的程序健壮。
- 通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信,但是需要相关同步和互斥手段的辅助,以保证数据的一致性。
- 调度和切换:线程的上下文切换比进程的上下文切换快得多。
- 一个程序至少有一个进程,一个进程至少有一个线程
- 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
- 地址空间和其他资源:进程间相互独立,同一进程的各线程间共享。某进程的线程在其他进程中不可见。
- 定义
C/C++常考面试题(一)的更多相关文章
- Java常考面试题
Java常考面试题 1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 答:Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行 ...
- C/C++常考面试题(二)
网上看到的面经,说是dynamic_cast的实现,和RTTI的相关,这才发现原来对这个概念这么模糊,所以作了这个总结. C/C++常考面试题(二) RTTI(Runtime Type Informa ...
- C++常考面试题汇总
c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...
- C++常考面试题汇总(持续更新中)
c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...
- 变量和关系符和JAVA基本类型笔记与常考面试题
变量的类型:数值型:整型(byte,short,int,long).浮点型(float,double)非数值型:布尔类型(boolean),字符型(char),字符串类型(String),其他引用型 ...
- .net常考面试题
1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成 ...
- vue常考面试题
组件中 data 什么时候可以使用对象? 这道题其实更多考的是 JS 功底: 组件复用时所有组件实例都会共享 data,如果 data 是对象的话,就会造成一个组件修改 data 以后会影响到其他所有 ...
- javaScript ES5常考面试题总结
js的六种原始值 boolean null undefined number string symbol 坑1: 首先原始类型存储的都是值,是没有函数可以调用的,比如 undefined.toStri ...
- Mybatis常考面试题汇总(附答案)
1.#{}和${}的区别是什么? #{}和${}的区别是什么? 在Mybatis中,有两种占位符 #{}解析传递进来的参数数据 ${}对传递进来的参数原样拼接在SQL中 #{}是预编译处理,${}是字 ...
随机推荐
- 前端资讯周报 2.27 - 3.5: 如何设计一个优秀的HTML接口,深入理解line-height
从本周起,每周一我都会分享上一周我订阅的技术站点中,和解决问题的过程中阅读到的值得分享的文章,或者视频教程,又或者图书. 个人认为国外的技术文章质量较高,而且发布的技术资讯也走在行业前沿,所以比较关注 ...
- 中软卓越IT培训:给IT程序员的18个忠告
1 .想清楚,写清楚,说清楚,才是真正的清楚! 2 .多花点时间沟通清楚需求,才能把握正确方向! 3 .修复需求错误的成本是代码错误的几十倍! 4 .程序员最大的坏习惯就是:急于动手写代码! 5 .提 ...
- Repcached实现memcached复制
1.介绍 repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的master/slave都是可读写的,而且可以相互同步,如果 ma ...
- server error in '/' applecation----Compiler Error Message: CS0016: Could not write to output file 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\xx' -- 'Access is denied
今天在阿里云虚拟机上部署新站点后出现下面的错误:server error in '/' applecation Compiler Error Message: CS0016: Could not wr ...
- 1202: [HNOI2005]狡猾的商人
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1554 Solved: 745[Submit][Stat ...
- Spring DelegatingFilterProxy
Spring 里面定义了许多 Filter. 比如 OncePerRequestFilter. 如果我们自定义OncePerRequestFilter, 则可以配置到web.xml中进行一些拦截或日志 ...
- Git-多人协作
声明: 此文参考廖雪峰老师的官方网站知识总结http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017 ...
- Asp.Net 常用工具类---Config操作(7)
近期工作比较忙,忙到忘记写博客(自己的借口,主要加班下班后不想动). 月初的时候,打算每两天写一篇博文,分享自己的一些心得和开发体验,无奈现在只写到第六篇,然而时间已经是20号,岁月不饶人! 总想写点 ...
- MongoDB一般安装
MongoDB一般安装 1.首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,目前的最新版本为2.6 安装包有zip和msi格式的,这里推荐下载zip格 ...
- 使文字在div中水平和垂直居中的的css样式为,四个边分别设置阴影样式
text-align:center; /*水平居中*/ line-height: 20px; /*行距设为与div高度一致*/ HTML元素 <div>水平垂直居中</div> ...