自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

转载 快速排序的优化(三种基准的选择以及四种优化方式)

快排思想快排基准的选择          固定基准          随机基准&nb...

2020-04-18 14:23:31 1923

原创 C++面试宝典:设计模式

● 请问你用过哪些设计模式,介绍一下单例模式的多线程安全问题参考回答:常见的设计模式如下:单例模式:单例模式主要解决一个全局使用的类频繁的创建和销毁的问题。单例模式下可以确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式有三个要素:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。工厂模式:工厂模式主要解决接口选择的...

2020-04-12 10:10:47 346

原创 C++面试宝典:计算机网络(二)

● 请问TCP三次握手是怎样的?参考回答:1.客户端发送syn0给服务器2.服务器收到syn0,回复syn1,ack(syn0+1)3.客户端收到syn1,回复ack(syn1+1)● 请问tcp握手为什么两次不可以?为什么不用四次?参考回答:两次不可以:tcp是全双工通信,两次握手只能确定单向数据链路是可以通信的,并不能保证反向的通信正常不用四次:本来握手应该和挥...

2020-04-11 12:37:17 263

原创 C++面试宝典:计算机网络(一)

● 请你说一下TCP怎么保证可靠性,并且简述一下TCP建立连接和断开连接的过程参考回答:TCP保证可靠性:(1)序列号、确认应答、超时重传数据到达接收方,接收方需要发出一个确认应答,表示已经收到该数据段,并且确认序号会说明了它下一次需要接收的数据序列号。如果发送发迟迟未收到确认应答,那么可能是发送的数据丢失,也可能是确认应答丢失,这时发送方在等待一定时间后会进行重传。这个时间一般是...

2020-04-11 12:35:48 299

原创 C++面试宝典:操作系统(三)

● 请你来说一说协程参考回答:1、概念:协程,又称微线程,纤程,英文名Coroutine。协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。例如:def A() :print '1'print '2'print '3'def B() :print 'x'print 'y'print 'z'由协程运行...

2020-04-11 12:33:51 280

原创 C++面试宝典:操作系统(二)

● 请你讲述一下互斥锁(mutex)机制,以及互斥锁和读写锁的区别参考回答:1、互斥锁和读写锁区别:互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒。读写锁:rwlock,分为读锁和写锁。处于读操作时,可以允许多个线程同时获得读操作。但是同一时刻只能有一个线程可以获得写锁。其它获取写锁失败的线程都会进入睡眠状...

2020-04-11 12:31:45 192

原创 C++面试宝典:操作系统(一)

● 请你说一下进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的参考回答:基本概念:进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;线程是操作系统可识别的最小执行和调度单位。每个线程都独自占用一个虚拟处理器:独自的寄存器组,...

2020-04-11 12:29:52 209

原创 C++面试宝典:编译与底层

● 请你来说一下一个C++源文件从文本到可执行文件经历的过程?参考回答:对于C++源文件,从文本到可执行文件一般需要四个过程:预处理阶段:对源代码文件中文件包含关系(头文件)、预编译语句(宏定义)进行分析和替换,生成预编译文件。编译阶段:将经过预处理后的预编译文件转换成特定汇编代码,生成汇编文件汇编阶段:将编译阶段生成的汇编文件转化成机器码,生成可重定位目标文件链接阶段:将...

2020-04-11 12:21:07 210

原创 C++面试宝典:容器和算法

● 请你来说一下map和set有什么区别,分别又是怎么实现的?参考回答:map和set都是C++的关联容器,其底层实现都是红黑树(RB-Tree)。由于 map 和set所开放的各种操作接口,RB-tree 也都提供了,所以几乎所有的 map 和set的操作行为,都只是转调 RB-tree 的操作行为。map和set区别在于:(1)map中的元素是key-value(关键字—值)对...

2020-04-11 12:17:12 148

原创 C++面试宝典:基本语言(三)

● 如果同时定义了两个函数,一个带const,一个不带,会有问题吗?参考回答:不会,这相当于函数的重载。● 请你来说一说隐式类型转换参考回答:首先,对于内置类型,低精度的变量给高精度变量赋值会发生隐式类型转换,其次,对于只存在单个参数的构造函数的对象构造来说,函数调用可以直接使用该参数传入,编译器会自动调用其构造函数生成临时对象。● 说说你了解的类型转换参考回答:r...

2020-04-11 12:14:43 234

原创 C++面试宝典:基本语言(二)

● 请你来说一下C++中的智能指针参考回答:C++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 其中后三个是c++11支持,并且第一个已经被11弃用。为什么要使用智能指针:智能指针的作用是管理一个指针,因为存在以下这种情况:申请的空间在函数结束时忘记释放,造成内存泄漏。使用智能指针可以很大程度上的避免这个问题,因为智能指...

2020-04-11 12:11:52 217

原创 C++面试宝典:基本语言(一)

● 说一下static关键字的作用参考回答:1. 全局静态变量在全局变量前加上关键字static,全局变量就定义成一个全局静态变量.静态存储区,在整个程序运行期间一直存在。初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化);作用域:全局静态变量在声明他的文件之外是不可见的,准确地说是从定义之处开始,到文件结尾。2. 局部静态...

2020-04-11 12:06:16 171

转载 C++:经典面试题目100例,接近实际,值得一看!

第一部分:C++与C语言的差异(1-18)1、C 和 C++ 中 struct 有什么区别?   Protection行为 能否定义函数 C 无...

2020-04-10 13:01:32 6265

转载 关于数组的面试题(代码)

转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/80352611、快速找出一个数组中的最大数、第二大数。     思路:如果当前元素大于最大数 max,则让第二大...

2020-04-09 14:32:13 451

原创 找到第K小的元素(分治)

先做一个简单好理解的,找到第一小和第二小的数#include<iostream>using namespace std;void select(int *ar,int n){ if(ar == NULL && n < 2) return ; int min1 = ar[0] < ar[1] ? ar[0]:ar[1]; int min...

2020-04-09 14:06:47 282

转载 银行家算法

前言操作系统在解决死锁问题的时候,有四个大的方向,分别是预防死锁,避免死锁,检测死锁和解除死锁。而今天要讲的银行家算法是避免死锁算法的代...

2020-04-08 12:57:57 1657

原创 腾讯C++后台开发面试笔试知识点

gdb调试命令step和next的区别?当前line有函数调用的时候,next会直接执行到下一句 ,step会进入函数.查看内存(gdb)p &a //打印变量地址(gdb)x 0xbffff543 //查看内存单元内变量0xbffff543: 0x12345678(gdb) x /4xb 0xbffff543 //单字节查看4个内存单元变量的值0xbfff...

2020-04-08 11:25:46 695

转载 C++ 标准模板库(STL)

C++ 标准模板库(STL)作者:AceTan,转载请标明出处!0x00 何为STL##STL(Standard Template Library) 即标准模板库。它是一个具有工业强度,...

2020-04-07 16:37:52 131

原创 C++:标准模板库简介(STL)

库(library)是一系列程序组件的集合,它们可以在不同的程序中重复使用。库函数设计的第一位的要求就是通用性,模板(template)为通用性带来了不可估量的前景。标准模板库(Standard Template Library)是ANSI/ISO C++最有特色,最实用的部分之一。STL包含:容器类(container)迭代子(iterator)算法(algorithm) 泛型算法(...

2020-04-07 16:06:54 256

原创 C++:纯虚函数与抽象类

纯虚函数(pure virtual function)是指被标明为不具体实现的虚拟成员函数。它用于这样的情况:定义一个基类时,会遇到无法定义基类中虚函数的具体实现,其实现依赖于不同的派生类。定义纯虚函数的一般格式为:virtual 返回类型 函数名 (参数表) = 0;含有纯虚函数的基类是不能用来定义对象的。纯虚函数没有实现部分,不能产生对象,所以含有纯虚函数的类是抽象类。纯虚函...

2020-04-04 14:44:59 321

原创 C++:必须把析构函数定义为虚函数的情况

析构函数可定义为虚函数,构造函数不能定义为虚函数,因为在调用构造函数时对象还没有完成实例化。在基类中及其派生类中动态分配空间时,必须把析构函数定义为虚函数,实现撤销对象的多态性。必须是类中有存在虚函数时,我们才能把析构函数定义为虚函数。如下代码:#include<iostream>using namespace std;class Object{ int val...

2020-04-04 13:11:18 313

原创 C++:虚函数与多态

虚函数虚函数是一个类的成员函数,定义格式:virtual 返回类型 函数名 (参数表);关键字virtual指明该成员函数为虚函数。virtual仅用于类定义中,如虚函数在类外定义,不可加virtual;当某一个类的一个类成员函数被定义为虚函数,则由该类派生出来的所有派生类中,该函数始终保持虚函数的特征。当在派生类中重新定义虚函数(overriding a virtual fun...

2020-04-03 16:30:46 140

转载 HTTP协议详解

HTTP协议简介超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程...

2020-04-03 09:06:57 189

转载 进程间通讯的方式(IPC)

1、常见的通信方式管道pipe:管道是一种半双...

2020-04-01 21:40:45 233

转载 快速排序最好,最坏,平均复杂度分析

转自http://book.51cto.com/art/201108/287089.htm 很好的一篇详细数学分析快排复杂度的文章~我们来分析一下快速排序法的性能。快速排序的时间性能取决于快速排序递归的深度,可以用递归树来描述递归算法的执行情况。如图9‐9‐7所示,它是{5...

2020-04-01 17:21:55 4048 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除