自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Eason_Grace的博客

积累C/C++技术的一点一滴。

  • 博客(34)
  • 收藏
  • 关注

原创 踩坑纪实(1):在Qt下开发了一段小算法,如何制作DLL动态链接库?

楼主一直在Qt环境下开发一个GUI软件,众所周知,是在Qt Creator(Qt官方IDE)下写C++的代码。这两天涉及到一个后台数据处理的算法,需要把它制作成DLL动态链接库提供给他人使用。其实这是一件so easy的事情,但第一次做,踩了几个坑,把这个过程记录下来。首先进行方法上的列举和选择,基本上有这么几种:在Qt Creator下依赖QtCore模块,个人理解是很多原生C++中的...

2020-01-12 14:43:04 734 5

原创 面试系列(二十):金山云 C++开发

一面1.C++中的继承,在祖父类、父类和子类这样一个场景中,子类对象的空间构成?虚函数给对象空间造成的影响?虚函数表的组成?2.手撕代码 一个数组,其中元素有正有负,求最大子段和(连续子数组的最大和) 一个数组中有2N+1个元素,其中2N个元素相同,只有一个元素与其他元素不同,请你找出这个不同的元素? 3.多线程请自实现一个生产者-消...

2020-01-03 15:45:57 1449 1

原创 面试系列(十九):联想 C++开发

一面1.自我介绍2.电子设计竞赛中你负责什么工作?3.英语能力怎么样?四六级成绩?4.自己有什么优点和缺点?以及如何改进你的缺点?5.平时有什么爱好?6.读过的人物传记里最喜欢哪位人物?7.你认为联想和其他企业各自的优缺点是什么?8.其他企业吸引你的地方在于?9.你有什么职业规划?10.你有什么想问的?...

2020-01-03 15:45:46 817

原创 面试系列(十八):深信服 C++开发

一面自我介绍你期望的工作地点是?SCI几区,什么时候投的?项目介绍两个项目的代码量有多少?你对于动态库和静态库的理解程序运行期间需要动态链接动态库,那么函数地址这些东西是如何连接的?如果两个程序A和B都依赖于动态库C,C肯定在内存中只有一份,请问如果确定是A链接的动态库C or B链接的动态库C?socket网络编程,写一下...

2020-01-03 15:44:48 1209

原创 面试系列(十七):滴滴 研发工程师

一面自我介绍关于服务器开发和系统优化你有没有相关经历,专门学习过这方面知识?MySQL 索引 InnoDB和MyISAM的区别是?这两种设计在时间性能上有什么区别? 对于一些零散的记录,要把它更新到磁盘中去,你认为是怎样的一个过程?在时间性能上会有怎样的问题? 设计模式都学过哪些?读写锁,在什么时候用?多路I/O复用模型,s...

2020-01-03 15:44:38 906

原创 面试系列(十六):58同城 后台开发

一面 线程池中,怎么评估应当开多少个线程呢?有一个min和max(还有一个忘记了),了解吗?线程如果开得多了会怎样?除了容易造成死锁和占用空间,还有别的吗? MySQL数据库的索引?建立一个联合索引,能够命中的情况? 继承和多态的关系? Linux中的常用命令?如何查看一个进程对于资源的占用情况,用什么命令?文件的所属用户和所属用户组,文件权限?Linux中一共...

2020-01-03 15:44:25 728

原创 面试系列(十五):好未来学而思网校 服务器开发

一面 自我介绍 常用的数据结构有哪些?说一下栈和队列的区别? 多进程/多线程服务器模型,I/O多路复用模型 父进程fork()出了一个子进程,那么子进程能否访问到父进程中的资源呢?它们之间是共享资源还是独立的空间?fork()是立即就复制一份父进程中的资源到子进程中吗? TCP中的四次挥手?TCP的状态转换?TIME_WAIT之后要等待多长时间?(2M...

2020-01-03 15:42:43 1301

原创 面试系列(十四):百度 C++/PHP研发

一面(基础) STL中用过什么容器?list的空间模型是? 多路IO复用模型:select,poll,epoll C++中,多态 、重载、覆写有什么区别? 父类中有一个函数(不是虚函数)被子类继承了下来,子类中也定义了一个同名的,问如何区分哪个是父类的哪个是子类的? 多态发生在编译时期还是运行时期?(运行时期) 这有一个名词叫什么?(动态绑定) ...

2020-01-03 15:42:27 367

原创 面试系列(十三):跟谁学 C++开发工程师

一面 自我介绍 项目介绍,画一下流程图/结构图 STL中list和vector的对比,如何选择 vector中的迭代器失效问题 如果想平衡一下list和vector,应该用哪种数据结构? 快排的思想和手撕代码 TCP和UDP的区别,属于哪一层 HTTP和FTP属于哪一层 GET和POST的区别 线程间...

2020-01-03 15:42:17 730 2

原创 面试系列(十二):阿里云网络 C++

1.MySQL 事务 索引,select等查询优化 死锁 2.C++多态形成的三个条件3.内存泄漏,如何定位?4.如何实现多线程并发?互斥锁这些锁的底层原理?5.用网络编程做过项目吗?6.你有什么要问的?...

2020-01-03 15:42:05 369

原创 面试系列(十一):百度运维部 核心网络研发工程师

一面1.自我介绍2.问了一些研究生专业、考研、提前实习的问题。3.数据结构:手撕代码二叉树的中序遍历(迭代),时间复杂度是多少? 求搜索二叉树中两个节点P1和P2的最近公共祖先?4.C/C++中存储区分为几个区?5.计算机网络:OSI 7层参考模型? TCP和UDP的区别? TCP最大的优点是? TCP如何保证可靠性传输? DNS解析IP地址的过程?...

2020-01-03 15:41:52 1101 1

原创 面试系列(十):百度AI创新业务部 C++研发

1.介绍部门情况。2.项目中多线程怎么实现的?简单聊一下生产者-消费者模型?3.智能指针,写一个shared_ptr的实现。4.分布式数据库的简单设计,如何实现存储,查询,插入,删除这些基本操作?...

2020-01-02 22:41:31 501

原创 面试系列(九):商汤科技 深度学习平台C++研发

一面1.聊项目:全程聊了很久。2.给10个数,如何找出第7大的?3.内存管理单元MMU位于哪里?二面1.你对STL的理解?2.STL里平时用过什么?vector的使用,capcity,size,reserve,resize的区别。3.vector动态扩容原理?扩容时为何是×2而不是+10?4.在一个N元素的数组中,查找谷点,使...

2020-01-02 22:41:10 1010

原创 面试系列(八):阿里巴巴高德地图 C++工程师

第一次电话面试1.聊了聊平时的学习方式和学过哪些计算机课程。2.C++面向对象:2.1.在继承中,如果子类中有一个和父类中重名的成员,那么如何访问父类成员?2.2.三角转四角虚继承的问题,解决数据冗余和成员二义性。2.3.如果A,B是别人封装好了的两个类(库的形式,看不到源码),已知它们中有一个同名的成员。现在用它们来自定义一个类C,如果不用继承的方式,如何解决这个成员名字冲突...

2020-01-02 22:39:07 1068

原创 面试系列(七):百度GTS部门 基础平台研发

一面1.自我介绍2.聊项目3.基础 内存中的逻辑地址向物理地址转换? Linux中的防火墙iptables TCP三次握手?序列号?状态转换? DNS域名解析IP地址的过程? IP报文分包的过程? MTU是什么? ICMP数据包长度? IP数据包是无序到达吗? TCP如何保证可靠传输? 进程...

2020-01-02 22:38:33 539

原创 面试系列(六):百度 C++/PHP开发

一面1.自我介绍2.C++中多态,多态有哪几种?3.C++11里面最重要的特性是什么?智能指针有哪几种?functor仿函数,仿函数跟函数指针有什么区别?Lambda表达式有几种?4.TCP/IP协议。5.Linux系统中平时使用过什么命令?6.进程池。进程和线程。7.操作系统、原子操作?...

2020-01-02 22:38:15 458

原创 面试系列(五):寒武纪 深度学习框架研发工程师

初面1.自我介绍。2.聊项目中的一些问题。3.C++多态如何实现一个多态? 多态是为了解决什么?优点是什么? 如何用C语言实现一个多态?说下思路。4.你的项目中用过哪些设计原则?5.对于常用的机器学习/深度学习算法有哪些了解?总监面1.自我介绍。2.挑一个项目重点介绍,展开聊。3.select()、poll()和epoll()的区别是?4.C++...

2020-01-02 22:37:20 1473 1

原创 面试系列(四):vivo 软件工程师

技术面1.自我介绍2.问一些项目中的问题:项目介绍、遇到最大的问题等等3.C++中的虚函数?4.进程与线程的区别?两个线程都想去抢占临界资源怎么办? 什么是死锁?5.C语言中,堆和栈的区别?6.进程空间:32位系统下的进程空间模型,与64位下的?7.成绩单,学过哪些课程?8.数据结构与算法: 排序算法学过哪些? 快排和冒泡的对比? 查找算法...

2020-01-02 22:35:32 754

原创 面试系列(三):祖龙娱乐 C++服务器开发

一面1.平时玩什么游戏?2.对公司有多少了解?3.聊课题4.后端知识:你对于高并发的理解和实现方法?Linux的使用?GCC的使用?编译的四个阶段,以及在Linux下的命令是?Linux中学过什么,shell?5.最近在学哪些东西?以及你的感受?6.两个有序数组a和b,求它们的中间大的值?7.递归和循环的区别是?8.你看过的计算机底层的东西?...

2019-12-26 11:27:59 974

原创 面试系列(二):广联达 C++工程师

技术面1.自我介绍。2.笔试题有没有做的不好的,现在想优化一下?3.数据结构与算法:快速排序和选择排序,有什么区别,如何区分使用?对于程序会造成什么样的影响? 平时自己用的较多的数据结构是? 数组和链表各有什么优缺点?vector的动态扩容如何实现的? 你学过哪些排序算法? 哈希表,如何处理散列冲突?如何处理散列扩容?4.语言:C++的特性,多态形成条件和实现? 接...

2019-12-26 11:24:07 1213

原创 面试系列(一):完美世界 C++服务器开发

一面1.自我介绍2.TCP/IP?3.堆,是用来解决什么的?4.用C++写代码多吗?代码量有多少?5.平时的学习方式?6.冒泡排序思想?7.在项目中都用过哪些STL容器?vector和list的区别?如何根据场景选择vector还是list?8.free()和delete[ ]是如何释放连续空间的?如果使用new[]在堆上申请了连续的空间,而在释放时使用...

2019-12-25 17:19:36 1142

原创 Linux网络编程系列(一):I/O多路复用模型中的select、poll和epoll

多路I/O复用是一个异步阻塞方式,Linux中提供了select、poll和epoll三种阻塞监听的方式,只有一个进程,避免了CPU在多进程和多线程之间的切换。反应堆就是阻塞监听的事件的集合。select的反应堆(监听集合)是一个文件描述符集合fd_set,分别有读事件、写事件、错误事件,这些个fd_set是一个输入输出型的参数,即输入时告诉select要监听哪些文件描述符的事件,做输出时...

2019-10-18 22:05:06 439

原创 简洁的Linux系统编程与网络编程学习路线(一):Linux中用于文件IO的系统调用API

本人学习Linux系统编程与网络编程时的路线:Linux系统编程Linux中用于文件IO的系统调用API Linux中的文件系统 进程及进程间的通信 多线程及线程间的同步与异步Linux网络编程基本的网络知识:TCP,UDP Socket相关API 多进程并发服务器模型 多线程并发服务器模型 IO复用服务器模型高并发服务器框架tinyHttpd Libevent...

2019-06-26 12:41:51 702

原创 浅谈C++中的多线程(三):Qt中的多线程应用

本篇文章围绕以下几个问题展开:何为进程?何为线程?两者有何区别? 何为并发?C++中如何解决并发问题?C++中多线程的语言实现? 同步互斥原理以及多进程和多线程中实现同步互斥的两种方法 Qt中的多线程应用前三个问题已经在之前两篇文章中讲解,本篇文章作为结尾篇来讲解最后一个问题:Qt中的多线程应用。四.Qt中的多线程应用1.引入程序由单线程到多线程,就像以前是一个人干...

2019-03-24 23:40:58 7870 13

原创 浅谈C++中的多线程(二)

本篇文章围绕以下几个问题展开:何为进程?何为线程?两者有何区别? 何为并发?C++中如何解决并发问题?C++中多线程的语言实现? 同步互斥原理以及多进程和多线程中实现同步互斥的两种方法 Qt中的多线程应用上一篇文章讲解了前两个问题,本篇文章来讲解第三个问题。三.同步互斥原理以及多进程和多线程中实现同步互斥的两种方法1.同步互斥原理同步互斥其实包含两个概念:同步和互斥。同步...

2019-03-24 23:26:50 7170 3

原创 浅谈C++中的多线程(一)

本篇文章围绕以下几个问题展开:何为进程?何为线程?两者有何区别? 何为并发?C++中如何解决并发问题?C++中多线程的语言实现? 同步互斥原理以及多进程和多线程中实现同步互斥的两种方法 Qt中的多线程应用引入传统的C++(C++98)中并没有引入线程这个概念。linux和unix操作系统的设计采用的是多进程,进程间的通信十分方便,同时进程之间互相有着独立的空间,不会污染其他进程的数...

2019-03-23 23:11:23 95674 30

原创 总结Qt中三大机制(二):内存管理机制

这篇文章继续来总结关于内存管理的内容。2.内存管理机制我们知道C++中并没有什么内存管理机制。对于栈上对象我们无需关心,因为它的空间由系统负责,而堆上对象必须由程序猿负责空间的申请与释放。Qt作为第三方类库,给出了一套很好的内存管理机制。首先需要明确一个概念,Qt作为一套GUI(图形用户界面)类库,在开发时,我们应用最多的就是各类窗口,其中经常用到父子窗口。必须明确,父子窗口一种窗口之...

2019-03-22 15:09:26 2873 1

原创 总结Qt中三大机制(一):信号与槽机制

最近复习了一下Qt,重点是它的三大机制:信号与槽,内存管理,事件处理。其中个人认为事件处理又是难点,它涉及到Windows中的消息机制。因篇幅有限,我会分开来讲。本篇文章讲解的是信号与槽机制。首先介绍,信号与槽是Qt中的一种通信机制,应用于对象之间的通信,可以是同一个对象,可以是同类的不同对象,也可以是不同类的对象,而原生的C++想要实现对象之间通信还是很麻烦的,所以你看,Qt还是很厉害的!...

2019-03-22 13:53:27 3265

原创 自理解并区分临时对象,局部变量,栈上对象等概念

在学习C++的过程中,经常遇到这样几个概念:临时对象,局部变量,栈上对象等等,相信有不少人对此的理解是有点模糊的,只知其一不知其二。刚刚自己悟到了这个点,来说明一下。1.临时对象、栈上对象以一个示例引入://代码1Point3D convert(Point2D & d2){ return Point3D(d2); //Point3D(d2)为一个临时对象,将其返回...

2019-02-26 23:45:27 1135

原创 再次论述C++ Class的构造器和析构器

第一次学习C++ CLass时仅对构造器和析构器有了一个初步的认识,“构造器在创建类对象时被自动调用,用来初始化对象中的成员;析构器在销毁对象时被自动调用,用于完成清理工作”,但这个还是停留在表面,比较浅显,对于一些概念的认识还很模糊。如今第二次学习,有了更深层次的认识和感受,写此文章来梳理一下,论述一下。首先,类对象有两种:栈上对象和堆上对象。栈上对象就如同C语言中的栈上变量,一样;堆上对象...

2019-02-20 10:24:14 384

原创 简要介绍C/C++中的两个extern

C语言中有一个extern,C++中也有一个extern,两者是不同的。首先C语言中的extern先补充一个知识点:C语言中是单文件编译的,即先单个文件自上而下完成编译,然后再将编译得到的.o文件同库文件一起链接成可执行文件(源文件到可执行文件的四个阶段:预处理,编译,汇编,链接)。当一个工程中有多个文件时(多文件编程),要使用全局变量,往往需要使用extern修饰声明。全局变量本...

2019-02-08 18:30:44 329

原创 C语言中的 &和 *,以及数组名的本质,你理解吗?

根据大学中传授的知识,&叫做取地址,*叫做取内容。但是这种说法并不准确,也并不全面。正确说法是:&叫作引用(reference),*叫作解引用(dereference),两者互为逆运算。先举几个例子://大学中学到的取地址和取内容int a = 10;int * pa = &a;//此*仅仅是用于定义/声明指针变量用;&可理解为取地址pri...

2019-01-28 16:21:33 3399

原创 简要区分 指针数组 和 数组指针

指针数组,本质是数组,只不过每个元素的数据类型为指针数组指针,本质是指针,可理解为数组的指针,即类型为数组这种构造类型的指针。指针偏移一次的跨度是数组这么个大小。...

2019-01-27 09:20:54 241 1

原创 CSDN博客的第一天,做个标记。

今天是开始在CSDN写博客的第一天,也是普通的一天。请记住今天。

2019-01-27 08:58:08 240

空空如也

空空如也

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

TA关注的人

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