笔试面试
vic__vic
这个作者很懒,什么都没留下…
展开
-
二分查找算法
int binary_search(int array[],int n,int value) { int left=0; int right=n-1; //如果这里是int right = n 的话,那么下面有两处地方需要修改,以保证一一对应: //1、下面循环的条件则是while(left //2、循环内当array[转载 2014-04-15 22:46:52 · 542 阅读 · 0 评论 -
海量数量处理之位图
编程珠玑第二章开始提出了三个问题,其中第一个问题是这样的:一个顺序文件至多包括40亿个32位的整数,这些数是无序的,找出一个不在该文件中的32位整数。(可能有数字是不在该文件中的,因为2^32总共包括了42+亿个数,因此肯定有整数是不在该文件中的,这是鸽巢原理吧?)据说这是腾讯的一道面试题,大概描述如下:问题描述:问题的描述大概就是这样了。刚看到这个转载 2014-04-16 23:10:34 · 583 阅读 · 0 评论 -
操作系统面试题(一)
1、线程与进程的区别联系2、进程通信方式有哪些?3、同步的方式有哪些?4、ThreadLocal与其它同步机制的比较5、进程死锁的条件 第一题:(1)线程是进程的一个实体,一个进程可以拥有多个线程,多个线程也可以并发执行。一个没有线程的进程也可以看做是单线程的,同样线程也经常被看做是一种轻量级的进程。并且进程可以不依赖于线程而单独存在,而线程转载 2014-04-05 11:38:16 · 454 阅读 · 0 评论 -
操作系统面试题(二)
1.进程现在操作系统的特点:保证安全前提下,程序并发执行,以及系统所拥有的资源被共享和用户随机使用系统。进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。进程的静态描述有:进程由三部分组成:程序,数据集合和进程控制块(PCB)。程序表示要完成的功能,数据集合表示程序运行时的数据部分和工作区。这二者是进程的物质基础。如果一个程序是多进程同时共享执行,转载 2014-04-05 11:42:21 · 709 阅读 · 0 评论 -
卡特兰数
卡特兰数:规定C0=1,而C1=1,C2=2,C3=5,C4=14,C5=42,C6=132,C7=429,C8=1430,C9=4862,C10=16796, C11=58786,C12=208012,C13=742900,C14=2674440,C15=9694845·········································原创 2014-04-05 11:33:31 · 513 阅读 · 0 评论 -
计算机网络面试题(一)
1 、 OSI ( Open System Interconnect ):开放系统互联,是一个七层的计算机网络模型,分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。TCP/IP ( Transmission Control Protocol/Internet Protocol ):传输控制协议 / 因特网互联协议,是一个四层的计算机网络模型,分别为:网络接口层、网络层、传输转载 2014-04-05 12:09:03 · 1033 阅读 · 0 评论 -
操作系统面试题(三)
1、进程是并发过程中程序的执行过程2、进程的特征:结构特征动态性并发性独立性异步性3、临界区指在每个进程中访问临界资源的那段代码4,现在操作系统中申请资源的基本单位是进程,在CPU得到执行的基本单位是线程,进程是由程序段、数据段、PCB组成的5,对临界资源应采取互斥访问方式来实现共享6,P.V操作是一种低级进程通信原语7,对于记录性信号量,在执行一次转载 2014-04-09 15:47:25 · 1341 阅读 · 1 评论 -
各大公司笔试面试题之数据结构与算法
1. 把二元查找树转变成排序的双向链表[cpp] view plaincopy//基本思想:假设根的左右两棵子树都已经转为链表,则只需将根指向左孩子的链指向左链表的最后一个节点 //将根指向右孩子的链指向右链表的第一个节点 #include using namespace std; struct node转载 2014-04-09 15:25:04 · 1194 阅读 · 0 评论 -
内存管理
七、内存管理 在写C/C++程序的时候,最头疼的部分一定包括内存管理,一提到内存管理总是提心吊胆,但是又不可避免地常常会遇到,而这块的知识也是公司招聘的一个评价方面,能够很好地体现笔试面试者的功底。这部分的内容稍深一些,大家细心阅读,能对内存管理有一个比较好的把握。7.1 内存分配的方式 最长被问到的问题之一,基础中的基础。对C和C++而言,内存分配方式转载 2014-04-09 16:10:31 · 422 阅读 · 0 评论 -
教你如何迅速秒杀掉:99%的海量大数据处理面试题
十道海量大数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)转载 2014-04-16 22:56:47 · 770 阅读 · 0 评论 -
二分查找
二分查找,最基本的算法之一,也是面试中常被考察的重点,因为基本的算法最能反映出一个人的基础是否扎实。本文对二分查找相关题目做一个总结。题目列表:1. 给定一个有序(非降序)数组A,求任意一个i使得A[i]等于target,不存在则返回-12. 给定一个有序(非降序)数组A,可含有重复元素,求最小的i使得A[i]等于target,不存在则返回-13. 给定一个有序(非降序)数转载 2014-04-16 22:27:08 · 594 阅读 · 0 评论 -
二叉树遍历(前中后层序/非递归)
一:前中后序递归实现[cpp] view plaincopy/* 前中后序的递归实现理解起来最为简单,要点在于visit(node)的位置。 */ /* 前中后序递归实现 */ //前序遍历 void BT_PreOrder(BitTree node) { if(!node) return;转载 2014-04-15 18:30:36 · 538 阅读 · 0 评论 -
四道有趣的单链表面试题
以下给出链表结点的数据结构:1 typedef struct _list_node2 {3 double keyVal;4 struct _list_node *next;5 }ListNode;Q1 单链表的反序Code 1 ListNode* reverseList(ListNode* head) 2 { 3 ListN转载 2014-04-15 18:33:27 · 489 阅读 · 0 评论 -
单链表反转
单链表的每个节点都指向下一个节点,所以要想将单链表反序,需要同时知道相连的三个节点,这样将中间节点的指针指向前一个节点之后仍然可以继续向后遍历链表。算法实现如下:[cpp] view plaincopyNode * singleLinkedListReverse(Node *head) { //判断空链表、单节点链表转载 2014-04-15 16:51:55 · 386 阅读 · 0 评论 -
用两个栈实现一个队列
大多数人的思路是:始终维护s1作为存储空间,以s2作为临时缓冲区。入队时,将元素压入s1。出队时,将s1的元素逐个“倒入”(弹出并压入)s2,将s2的顶元素弹出作为出队元素,之后再将s2剩下的元素逐个“倒回”s1。见下面示意图: 上述思路,可行性毋庸置疑。但有一个细节是可以优化一下的。即:在出队时,将s1的元素逐个“倒入”s2时,原在s1栈底的元素,不用“倒入”s2(转载 2014-04-15 23:25:51 · 398 阅读 · 0 评论 -
TCP和UDP
简述TCP协议在数据传输过程中收发双方是如何保证数据包的可靠性的答:(1)为了保证数据包的可靠传递,发送方必须把已发送的数据包保留在缓冲区;(2)并为每个已发送的数据包启动一个超时定时器;(3)如在定时器超时之前收到了对方发来的应答信息(可能是对本包的应答,也可以是对本包后续包的应答),则释放该数据包占用的缓冲区;(4)否则,重传该数据包,直到收到应答或重传次数超过规定的最大次转载 2014-04-16 22:00:35 · 450 阅读 · 0 评论 -
轻松搞定面试中的链表题目
链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文对链表相关的面试题做了较为全面的整理,希望能对找工作的同学有所帮助。链表结点声明如下:struct ListNode{ int m_nKey转载 2014-04-15 21:25:34 · 536 阅读 · 0 评论 -
2014年计算机求职总结--准备篇
转载自:http://blog.csdn.net/walkinginthewind/article/details/13000431找工作是一个长期准备的过程,突击是没什么效果的。准备时间越长,准备就越充分,就越容易拿到好的offer。我基本上从研究生一入学就一直在准备找工作的东西,看书、研究研究笔试面试题、在线编程训练、参加实习招聘等等。当然,其实主要还是研二开始准备的,也算不上多认转载 2014-04-15 21:29:57 · 458 阅读 · 0 评论 -
轻松搞定面试中的二叉树题目
树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思想解决,当然有些题目非递归解法也应该掌握,如非递归遍历节点等等。本文努力对二叉树相关题目做一个较全的整理总结,希望对找工作的同学有所帮助。转载 2014-04-15 22:28:41 · 384 阅读 · 0 评论 -
IT笔试面试总结
转自:http://blog.csdn.net/mariofei/article/details/22316849很久前就筹划记录一下这几个月来的笔试和面试经历,终于没有后续的面试了,趁11月还没有结束,自己总结总结。 严格地讲,我的笔试面试经历应该是从今年上半年开始的:暑期实习有面过MS和DP公司;等10月正式找工作的时候,依次面过B L C I O等公司,笔试转载 2014-04-09 22:13:34 · 840 阅读 · 0 评论