- 博客(27)
- 资源 (5)
- 收藏
- 关注
转载 stl vector 效率低下问题解决方案
Vector是STL中最常用的容器,比起用户自定义的数组,具有内存分配对用户透明,可动态增长等特点。vector什么操作导致效率低?毫无疑问,那就是当vector 预留空间不足时 常用操作push_back()函数在每次插入元素时会检测预留空间是否够用push_back()时预留空间不够用:要重新分配内存,并且拷贝当前已有的所有元素到新的内存区域。如果已有元素很多,这个操作将变的非常昂贵。ecto...
2018-03-06 11:36:43 974
转载 一次谷歌面试趣事
很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往往会在 前几次面试中的什么地方犯一些错误。简单而言就是,不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题,你可能全部忘记了,所以,先去几个 不太重要的公司里面试,它们会在这些方面对你起教育(再教育)作用。 我第一家面试的公司叫做gofish.
2016-02-04 17:06:52 311
原创 pthread多线程编程整理
1 Introduction 不用介绍了吧… 2 Thread Concepts 1. Thread由下面部分组成: a. Thread ID b. Stack c. Policy d. Signal mask e. Errno f. Thread-Specific Data 3 Thread Identificatio
2013-05-08 19:39:15 416
原创 链表逆序
设链表节点为 [cpp] view plaincopyprint? typedef struct tagListNode{ int data; struct tagListNode* next; }ListNode, *List; typedef struct tagListNode{ int data; struct tagListNode*
2013-04-16 23:47:29 368
原创 一套Unix面试题(带答案)- 2
21. 以下给变量赋值的方法中,在bash下合理的有:(2.3.4) 2. variable=” this is a tested ip” 3. variable=’this is a tested ip’ 4. variable=this\ is\ a\ tested\ ip 22. 下列表示中属于文件运算符的有:2、-x 3、-O 23. 为表述算术表达式2
2013-04-16 23:03:31 1290
原创 AIX下如何查看占用端口的进程
应用程序有时会因为要使用的端口被其他程序使用,而无法正常启动,这时我们需要查看正在使用此端口的进程信息. 下面介绍了两个方法: 1. lsof方法: > 参考文档: http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1811994C16000 > 下载lsof: ftp://ftp.software.ibm.com/aix/f
2013-04-16 23:01:36 1390
原创 Unix/Linux产生core文件的调试和core文件大小限制的修改
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出 现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们 如何利用core文件找到出现崩溃的地方。 何谓core文件 当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。co
2013-04-16 21:32:52 2200
原创 常见的数据库基础面试题大全
1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式 2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control) 数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等 数据操纵:Select ,insert,update,delete, 数据控制:gr
2013-04-14 23:54:52 388
转载 C++向Excel数据库中创建、插入数据
本文最近在研究经济数据抽取,抽取的数据通过程序存储到Excel中,本人抽取了Excel数据表创建的实例,希望对有需求的人有帮助! #include "stdafx.h" #include #include #include "io.h" int CreateExcel(); void WriteToExcel(); CDatabase m_database; C
2013-04-08 21:18:58 764
转载 linux C经典面试题十四
港湾兴业工程师入职面试题 1. 第一部分C语言和数据结构(每题2分,共20分) 1.1 二叉树的前序,中序和后序遍历法最适合采用(1)-----来实现。 查找树中,由根结点到所有其他结点的路径长度总和称为(2)------。 而上述路径长度总和达到最小的树称为(3)------,它一定是(4)------。 在关
2013-04-08 21:07:23 815
转载 linux C经典面试十三
1:(void *)ptr 和 (*(void**))ptr的结果是否相同?其中ptr为同一个指针 .(void *)ptr 和 (*(void**))ptr值是相同的 2:int main() { int x=3; printf("%d",x); return 1; } 问函数既然不会被其它函数调用,为什么要返回1? mian中,c标
2013-04-08 21:03:34 396
原创 交换两个变量的值,不使用第三个变量
通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10; b=15; int t; t=a; a=b; b=t; 这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法)。
2013-04-08 18:36:00 356
转载 linux C经典面试题十一
1.有以下表达式: int a=248; b=4;int const c=21;const int *d=&a; int *const e=&b;int const *f const =&a; 请问下列表达式哪些会被编译器禁止?为什么? *c=32;d=&b;*d=43;e=34;e=&a;f=0x 321f; *c 这是个什么东东,禁止 *d 说了是const, 禁止 e = &a
2013-04-08 18:33:54 460
转载 linux C经典面试题十
1.请问以下代码有什么问题: int main() { char a; char *str=&a; strcpy(str,"hello"); printf(str); return 0; } 没有为str分配内存空间,将会发生异常 问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。 char* s="AAA";
2013-04-08 18:05:08 770
转载 linux C经典面试题九
思科 1. 用宏定义写出swap(x,y) #define swap(x, y)\ x = x + y;\ y = x - y;\ x = x - y; 2.数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型: int do_dup(int a[],int N) 3 一语句实现x是否为2的若干次幂的判断 int
2013-04-08 17:54:41 429
转载 经典面试题八
微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统开销
2013-04-08 16:55:20 400
转载 linux C经典面试题七
華為 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2、如何引用一个已经定义过的全局变量? 答:exte
2013-04-08 16:53:48 464
转载 linux C经典面试题 四
中断(Interrupts) 11. 中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。 __interrupt double compute_area (double radius) {
2013-04-08 16:45:01 410
转载 linux c 面试题三
下面是答案: 1)是的。一个例子是只读的状态寄存器。它是volatile因为它可能被意想不到地改变。它是const因为程序不应该试图去修改它。 2); 是的。尽管这并不很常见。一个例子是当一个中服务子程序修该一个指向一个buffer的指针时。 3) 这段代码有点变态。这段代码的目的是用来返指针*ptr指向值的平方,但是,由于*ptr指向一个volatile型参数,编译器将产生类似下面的代码:
2013-04-08 16:38:25 423
转载 linux C程序员经典面试题二
人们经常声称这里有几个问题是那种要翻一下书才能回答的问题,我同意这种说法。当我写这篇文章时,为了确定语法的正确性,我的确查了一下书。但是当我被面试的时候,我期望被问到这个问题(或者相近的问题)。因为在被面试的这段时间里,我确定我知道这个问题的答案。应试者如果不知道所有的答案(或至少大部分答案),那么也就没有为这次面试做准备,如果该面试者没有为这次面试做准备,那么他又能为什么出准备呢? Stati
2013-04-08 16:35:35 397
转载 linux C程序员 经典面试题一
先发基本问题,再发编程问题.......... 想成为嵌入式程序员应知道的0x10个基本问题: 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1) #defin
2013-04-08 16:30:58 386
转载 LINUX计算CPU、内存的使用率
"proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。" 这里将介绍如何从/proc文件系统中获取与防火墙相关的一些性能参数,以及如何通过/proc文件系统修改内核的相关配置。 1、从/proc文件系统获取相关的性能参数 cpu
2013-04-08 16:29:26 832
转载 UE中使用正则表达式的一些技巧
以下是网上摘录的UE 技巧 1)删除空行: 替换 %[ ^t]++^p 为 空串 2)删除行尾空格: 替换 [ ^t]+$ 为 空串 3)删除行首空格: 替换 %[ ^t]+ 为 空串 4)每行设置为固定的4个空格开头: 替换 %[ ^t]++^([~ ^t^p]^) 为 " ^1" 5)每段设置为固定的4个空格开头: 替换 %[ ^t]+ 为 " " (如果一行是以空格开始的,则
2013-04-08 16:27:33 545
转载 VMware 里Linux与Window文件共享方法
Linux 启动完成后, 1.安装VMware Tools后直接把windows和linux下的文件互相拖拽过去就行了 打开VMware->工具栏—>虚拟机->安装Vmware工具, 进入在虚拟机中安装好的Linux环境(使用超级用户),这时光驱中已经出现了我们将要安装的软件: VMwareTools-5.5.0-18463.i368.rpm VMwareTools
2013-04-08 16:25:38 494
转载 linux C经典面试题六
11.Windows是内核级线程么。 答:见下一题 12.Linux有内核级线程么。 答:线程通常被定义为一个进程中代码的不同执行路线。从实现方式上划分,线程有两 种类型:“用户级线程”和“内核级线程”。 用户线程指不需要内核支持而在用户程序 中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度 和管理线程的函数来控制用户线程。这种线程甚至在象 DOS 这样的操
2013-04-08 16:24:19 376
转载 linux C经典面试题五
华为笔试题 1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分) int a = 4; (A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++); a = ? 答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a; 改后答案依次为9,10,10,11 2.某3
2013-04-08 13:05:11 337
国际程序设计大赛的作品
2011-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人