
笔试or面试
liyongbao1988
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
百度面试(1)
2012年投商务搜索部的面试:1 英文句子求逆序,但每个词不能逆序。C版本(只能利用数组):void reverseconvert(char *input,int length){if(length>0){char temp;//////////////////////////////////////颠倒整个数组!for(int i=length-1;原创 2012-05-07 10:46:44 · 1229 阅读 · 1 评论 -
基类的析构函数为什么是虚函数?
编译器总是根据类型来调用类成员函数。但是一个派生类的指针可以安全地转化为一个基类的指针。这样删除一个基类的指针的时候,C++不管这个指针指向一个基类对象还是一个派生类的对象,调用的都是基类的析构函数而不是派生类的。如果你依赖于派生类的析构函数的代码来释放资源,而没有重载析构函数,那么会有资源泄漏。通过基类的指针去删除派生类的对象,而基类又没有虚析构函数时,结果将是不可确定的。这意味着编译器转载 2012-05-15 15:15:32 · 2116 阅读 · 0 评论 -
排序算法的稳定性
快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳转载 2012-05-15 10:04:06 · 591 阅读 · 0 评论 -
多线程访问共享内存的不加锁实现方式
多线程访问共享内存,为了实现同步,常采用加锁的方式。那么,如何采用不加锁的方式来达到线程同步的目的呢?思路:保存两块共享内存,一块用于读操作,一块用于写操作。初始时,两块共享内存内容一致。读操作均是读取第一块共享内存的数据;写操作均是写第二块共享内存。在多个读操作一个写操作的情况下,读操作均从第一块共享内存读取,写操作修改第二块共享内存的数据。直至写操作完成,交换两块共享内存的转载 2012-05-11 14:07:24 · 1290 阅读 · 0 评论 -
英文字典的表示法
对于一个英文字典而言,利用合理的数据结构存储,使得查找的速度明显加快;比较常见的存储有:1 哈希表(需要空间较大)2 二叉树(完全用map或者set保存,即红黑树,需要空间较大)3 树(将单词集合看做成普通树的结构,但是用第一个孩子/下一个兄弟的表示法写成二叉树)4 trie树(trie树称为单词查找树,在单词查找方面速度很快,但是需要空间也比较大)原创 2012-05-11 09:52:55 · 935 阅读 · 0 评论 -
百度面试题(简单的正则匹配)
1 编写一个简单的支持正则表达式的字符串匹配函数,简单的正则表达式如下:字符 含义c 匹配字符c. 匹配任意一个字符* 若一个字符后紧跟*,则匹配0个或多个此字符函数原型如下,参数regexp原创 2012-05-10 11:05:10 · 913 阅读 · 0 评论 -
malloc与new
malloc和free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于m转载 2012-05-09 16:03:59 · 1072 阅读 · 0 评论 -
strlen() 和sizeof()
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。注意:不包括结果的/0字符举例 char* temp="ilove" strlen(temp)结果是5,不是6!sizeof()与strlen()区别!strlen(char*)函数求的是翻译 2012-05-09 15:45:34 · 817 阅读 · 0 评论 -
HTTP协议的主要特点
HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。4.无连接:无连接的转载 2012-05-09 15:12:16 · 11758 阅读 · 0 评论 -
09年的百度面试
一面1.网络编程经验: 如何判断一个客户端http请求已经结束?客户端程序如何判断服务端的应答是否已结束?如何处理服务器多线程?(这题可以从我自己以前的那个项目寻求结果!!!)答:首部的结束是以连续两个新行标记(\r\n)来表示的,有了首部之后: http请求参考http://blog.youkuaiyun.com/kfanning/article/details/606211原创 2012-05-09 10:35:40 · 1423 阅读 · 1 评论 -
判断两个链表是否相交
法1、使用hash表或者set表时间复杂度:O(list1.length + list2.length)空间复杂度:O(list1.length)法2、将其中一个链表首尾相连,检测另一个链表是否存在环,如果存在,则两个链表相交,而检测出来的依赖环入口点即为相交的第一个点。时间复杂度:O(list1.length + list2.length)空间复杂度:O(list1.le转载 2012-07-13 18:46:37 · 908 阅读 · 0 评论