摘要: 前几周还电话面试了某大厂,遗憾挂了,不过题目还是不错的,记录下来。 1 c++基础题 static关键字的作用。 智能指针的原理。 malloc和new的区别。new和malloc的容错保护是如何实现的(就是假如未新建成功要怎么处理)(malloc分配完成后会返回指针,如果指针为null表示分配失败 阅读全文
posted @ 2019-07-29 22:16 corineru 阅读(234) 评论(0) 推荐(0)
摘要: 最近在面试某大厂,跪在了最后一面技术面上。面试官要求带电脑,并在40分钟内当场完成一道题并要求跑通。 题目是两个数字字符串相乘,得出的结果也用字符串输出。例如给string a = "123", string b = "456",求出结果字符串。 回来仔细思考了一下,并在1小时内完成了这道题。 思路 阅读全文
posted @ 2019-07-11 22:32 corineru 阅读(2491) 评论(1) 推荐(1)
摘要: 回到数据结构与算法,再次把一些经典的排序算法的代码回顾一下。 1. 插入排序 可以想象手里有一副扑克牌,从左到右是{4, 3, 7, 1, 9}。一张一张来看。 4 4,3 排序有误。将3插入到4前,变成 3,4。 3,4,7排序无误。 3,4,7,1排序有误,将1插入到3前,变成1,3,4,7 . 阅读全文
posted @ 2019-06-25 00:02 corineru 阅读(175) 评论(0) 推荐(0)
摘要: 最近刷了一些题,也面试了一些公司,把关于c++中关于类的一些概念总结了一下。 在这里也反思一下,面试前信心满满自以为什么都懂,毫无准备就大胆得去了,然后就觉得自己脸都被打肿了。回来认认真真刷题,这阵子都不敢再去面试了~~。 1. 类的访问属性:public,protect,private C++中类 阅读全文
posted @ 2019-06-16 11:53 corineru 阅读(5017) 评论(0) 推荐(1)
摘要: 最近工作中用到了句柄类,特意了解了一下,后来发现所谓的句柄其实和智能指针就是一回事。为了能够更好的理解句柄类,建议大家先了解c++中类、类的继承、多态等概念,不然很容易懵。 什么是句柄类 句柄(handler)之所以翻译成柄,就是用一个类来撬动很多类。类似于从一大堆数中,只要拿着一个数(基类),后面 阅读全文
posted @ 2019-05-29 00:49 corineru 阅读(1895) 评论(0) 推荐(0)
摘要: 前两天的电话面试中被问到智能指针的概念,完全答不上来。特意回来了解了一下,总结了一些智能指针的用法。之后再接着写C++的多线程。 为什么要使用智能指针? 一般来说在C++中新建指针都会使用new来新建一个被指向的对象。由于是程序员指定的内存分配,因此也必须要由程序员通过delete手动释放掉。但是总 阅读全文
posted @ 2019-05-21 00:01 corineru 阅读(505) 评论(0) 推荐(0)
摘要: C++中的原子操作 一、atomic模版函数 为了避免多个线程同时修改全局变量,C++11除了提供互斥量mutex这种方法以外,还提供了atomic模版函数。 使用atomic可以避免使用锁,而且更加底层,比mutex效率更高。 为了方便使用,c++11为模版函数提供了别名。 atomic<bool 阅读全文
posted @ 2019-05-16 00:23 corineru 阅读(534) 评论(0) 推荐(0)
摘要: 条件变量 这一章主要讲讲条件变量condition_variable。条件变量是一个非常神奇的存在,是线程间交互的一种方式。 C++11提供了condition_variable类。使用时需要include头文件<condition_variable>。 如果把变量区看成是一座房子,那么前面两章频繁 阅读全文
posted @ 2019-05-14 23:25 corineru 阅读(408) 评论(0) 推荐(0)
摘要: 一、线程的同步和互斥 同步是指散步在不同任务之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。最基本的场景就是:两个或两个以上的进程或线程在运行过程中协同步调,按预定的先后次序运行。比如 A 任务的运行依赖于 B 任务产生的数据。 互斥是指散步 阅读全文
posted @ 2019-05-12 23:43 corineru 阅读(496) 评论(0) 推荐(0)
摘要: c++的多线程可以充分利用计算机资源,提高代码运行效率。在这里总结了一些多线程应用过程中的基本概念和用法。 一、进程与线程 进程是资源分配和调度的一个独立单位。而线程是进程的一个实体,是CPU调度和分派的基本单位。 一个进程至少拥有一个线程。 在同一个进程中的多个线程的内存资源是共享的,也就是说各线 阅读全文
posted @ 2019-05-11 10:32 corineru 阅读(2137) 评论(0) 推荐(1)