
面试
夕阳那边
这个作者很懒,什么都没留下…
展开
-
面试杂项
explicit是干什么用的? 可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。 内存溢出有那些因素? 内存不够 new与malloc的区别,delet和free的区别? 1. new/delete是C++里才有的,而new/delete会调用构造析构函数。 2. new/delete通常来说是操作符,就是”+”,”-“一样。 3. new/dele原创 2016-06-30 22:48:25 · 473 阅读 · 0 评论 -
面试杂项2
操作系统 fork fork()函数调用成功后,将为子进程申请PCB和用户内存空间.子进程是父进程的副本.在用户空间将复制父进程用户空间所有数据(代码段、数据段、BBS、堆、栈),复制父进程内核空间PCB中的绝大多数信息.子进程从父进程继承下例属性:有效用户、组号、进程组号、环境变量、对文件的执行时关闭标志、信号处理方式设置、信号屏蔽集合、当前工作目录、根目录、文件模式掩码、文件大小限制和打开原创 2016-06-30 22:50:43 · 413 阅读 · 0 评论 -
面试杂项3
编程题 给了一个链表,第1个结点标号为1,把链表中标号在M到N区间的部分反转 (我写的很慢,面试官看不下去了,让我只说思路) 我的思路是两个指针,计算出M-N的距离,然后一起出发。 将这段区域中的链表反转,然后再添到原来的链表里面。 **编程题 在一个字符串中,找出最长的无重复字符的子串 (这个问题还是有难度的,我碰巧想到了用hash,但没想到完整解法,用hash的解法复杂度在O(N^2)原创 2016-06-30 22:51:41 · 2583 阅读 · 0 评论 -
大数据处理问题
topK问题topK算法就是给出一堆数,在里面找出最大、最常出现的等一系列问题。 topK算法(常考) 方法1:K大小的数组存topK 维护一个K大小的排序数组,每次都和最后一个元素比较,如果比最后一个元素大的话,那么就把这个元素插入到排序数组中。因为元素的每个移动的次数可能是K,时间复杂度O(N*K) 方法2:K大小的堆存topK 维护一个K大小的小顶堆,每次都和堆最上面的元素作比较,如原创 2016-06-21 09:24:47 · 659 阅读 · 0 评论 -
稀疏矩阵的设计问题
稀疏存储 设计一个结构存取稀疏矩阵 (面试官最后告诉我了一个极度压缩的存法,相同行或列存偏差?) 稀疏存储有以下 几个方法, 参考文章:稀疏矩阵的几种存取方法 方法1:用三个一维向量存。 方法2:用列和行偏移量的方式来存。 方法3:对于那种值在对角线上面的情况,可以存储的是对角线上面的元素+偏移量的方式来存。 方法4: 方法5:原创 2016-06-21 09:34:10 · 829 阅读 · 0 评论 -
c++对象内存布局(虚表和虚指针)
参考文章: http://blog.youkuaiyun.com/haoel/article/details/3081385 http://www.cnblogs.com/kekec/archive/2013/01/27/2822872.html 虚函数表中虚函数在虚表中出现的位置是按照类中成员申明顺序,然后子类在前,父类在后的方式。 以下所有的函数均为虚函数。 普通继承: 虚表指针存在于子类的头部原创 2016-06-22 11:47:01 · 1258 阅读 · 0 评论