
Interview
文章平均质量分 57
ustcqi
这个作者很懒,什么都没留下…
展开
-
编程之美---求数组的子数组之和的最大值
最大字段和问题,不分析了,就是一个动态规划#include#include#include#define max(a, b) ((a) > (b) ? (a) : (b))//设置最小整型值const int inf = 0x80000001;int getMaxSum(int *a, int n){ int maxSum = inf; int curSum = 0;原创 2013-04-10 14:24:11 · 602 阅读 · 0 评论 -
关于虚函数(一)
此篇只写最基本的概念. 1.什么是虚函数? 2.为什么会有虚函数?(虚函数的作用) 3.虚函数是如何实现的?1.首先说什么是虚函数?定义: 虚函数必须是基类的非静态成员函数.格式如下: virtual 函数返回值类型 虚函数名(形参表) {函数体}这里注意,用词,必须是基类中并且是非静态的成员函数.也就是说虚函数不能用static关键字修饰原创 2013-04-14 16:52:36 · 2582 阅读 · 0 评论 -
面试中常考的C函数库中的字符串处理函数
#include#include#include#includeint myStrlen(const char *strDest){ assert(NULL != strDest); const char *p = strDest; int len = 0; while( (*p) != '\0' ) { len++; p++; } return len;}原创 2013-04-15 10:56:39 · 2446 阅读 · 1 评论 -
面试中常考的单链表处理
#include#include#includestruct node{ int data; struct node *next;}linknode;typedef struct node * LinkNode;LinkNode head = NULL;LinkNode createNode(int data){ LinkNode node = NULL; node原创 2013-04-15 10:58:55 · 2486 阅读 · 0 评论 -
二叉树操作
#include#include#includestruct tnode{ int data; struct tnode *lchild; struct tnode *rchild;}tnode;typedef struct tnode * TNode;//此程序中没用上TNode newNode(int data){ TNode node = (TNode)mallo原创 2013-04-15 13:35:37 · 2475 阅读 · 0 评论 -
第一个只出现一次的字符
#include#include#includeunsigned int hashTable[256];char queue[256];char solve(char *str){ unsigned int i = 0; memset(hashTable, 0, sizeof(hashTable)); memset(queue, '0', sizeof(queue)); i原创 2013-04-15 14:11:40 · 2538 阅读 · 0 评论 -
百度推荐与个性化部-架构组二面
昨天下午百度人力资源部的JJ打来电话,说一会有二面,由于我有事,约好今天下午1点面试.面试了半个小时,全部问的项目经验,只问了两个基础知识,TCP连接过程和进程和线程的区别.而我的项目...那哪叫项目啊,我简历上写的是个人作品,因为我觉得它真的不是什么项目,然后对面让我先说一下最有的说的介绍一下,我把去年做的分布式存储系统讲了一下,结果被鄙视了,说我的那个分布式根本就不是个分布式啊,因为他已经做分原创 2013-04-12 15:08:58 · 2143 阅读 · 0 评论 -
进程与线程
http://www.admin10000.com/document/1909.html 这篇文章的解释比较给力 进程与线程这是最常考的题,无论考研还是笔试面试.操作系统的核心概念就是进程,因此对这两个基本概念有一个很透彻的理解是非常重要的.操作系统引入进程的目的是使多个程序并发执行,提高资源利用率和系统吞吐量.那么再引入线程是为了减少程序并发执行时所付出的时空开销,使操作系统具有更好原创 2013-04-14 18:32:42 · 2369 阅读 · 0 评论 -
深度搜索破密码
百度一面的一道题目,今天才想起来实现以下,给面试官说的时候没表达清楚,现在想想原因还是对递归掌握的深度不够,逻辑没有表达好.下面是代码,其中characters里存放的是密码可能出现的字符,我这里只存了几个,比较方便,不然执行时间过长.#include#include#include#include//char characters[] = {'a', 'b', 'c',原创 2013-04-16 15:35:51 · 2865 阅读 · 0 评论 -
C++中各种类型的成员变量的初始化方法
c++各种不同类型成员根据是否static 、时候const类型的初始化方法不尽相同,java的语法就没有这么复杂,怪的得那么多人都跑去学Java了。以前面试时被人问到这个问题回答不出来,写代码时也经常搞乱了,这里翻了下书,总结一下。-----------------Test.h----------------------------#pragma onceclass Te转载 2013-05-09 22:28:14 · 2628 阅读 · 0 评论 -
2013腾讯暑期实习生笔试总结
前天飞奔合肥,昨天上午进行了笔试,话说开发类在合肥只有100人参加笔试,看来合肥不属于重点招聘地区了,哎...笔试题目考的都是基础题,但是如果基础不牢固肯定答不好,考了两次的大端法小端法的内存对齐问题,还有数组名数组地址的关系,还有就是考研四科,题目感觉和微软的类似,不过没有数学题.最后考了两道附加题,一道是海量数据处理的,一道是网络安全方面的,我写那道海量数据处理的,答的不够好.现在发现我的简历原创 2013-04-14 08:45:14 · 1553 阅读 · 0 评论 -
内存对齐(一)
昨天做腾讯的笔试题,有两道是内存对齐问题,之前也看过,不过理解不够深刻,今天看了下前人总结,也小小的总结一下.首先说说为什么要有内存对齐1.内存对齐原因: (1):平台原因:不是所有的硬件平台都能访问任意地址的的任意数据的,某些硬件只能在某些地址取出某些特定类型的数据(百科). (2):性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,原创 2013-04-14 14:27:34 · 1053 阅读 · 0 评论 -
一道笔试题
看一道题目:#includestruct node{ __int64 a; __int64 b; __int64 c;}Node;void test(){ struct node node; node.a = 1; node.b = 2; node.c = 3; printf("%d %d %d\n", node.a, node.b, node.c);}原创 2013-04-14 14:58:40 · 2155 阅读 · 1 评论 -
编程之美---求二进制中1的个数
#includeint bitCount(unsigned int b){ int count = 0; while(b) { count += b & 0x00000001; b = b >> 1; } return count;}void test(){ unsigned int b; int ret = 0; while(scanf("%d", &b)原创 2013-04-10 14:36:14 · 740 阅读 · 0 评论 -
C++的priority_queue实现最大堆
最大堆在面试题和笔试题中常常见到,练习一下吧,总没有坏处...#include#includeusing namespace std;const int k = 10;struct node{ int n; int weight;};typedef struct node Node;//以权重weight的值建立最大堆struct cmp{ bool oper原创 2013-04-10 16:00:28 · 1350 阅读 · 0 评论 -
编程之美---求数组中最长递增子序列LIS
对于那个O(nlgn)的算法实在用的不熟,大概能理解,不过还是欠火候,在此不贴了,以后再重新编辑#include#include#include#includeint LIS(int *a, int n){ assert(NULL != a); int *dp = new int[n]; memset(dp, 0, sizeof(dp)); for(int i=0; i<n原创 2013-04-10 18:25:56 · 879 阅读 · 0 评论 -
递归方法求类循环排列
/********************************************************\类循环排列问题 例如:输入:2 3输出:0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1/********************************************************/#include#i原创 2013-04-11 09:57:17 · 917 阅读 · 0 评论 -
CS牛人面经
过去的一年多里,参加了一些面试,虽然面过的公司不多,但都从头一直走到尾。毕竟自己也是花了大量的时间和精力在这一场场的面试里。所以,就絮叨下自己的一些经验,希望能给在美国找实习找工作的同学们提供一点点帮助。 开始前的一些说明:1. 笔者只是一介小本科,虽然留了学,但是留了级,学识浅薄,目光短浅,文章若有不恰之处,恳请各位大牛不吝指正!2. 笔者面试的岗位均为Softw转载 2013-04-10 15:20:15 · 1809 阅读 · 0 评论 -
编程之美---子矩阵之和的最大值
把二维转化为一维,再利用求最大子序列的方法求最大子矩阵.#include#include#include#include#define max(a, b) ((a) > (b) ? (a) : (b))const int neginf = 0x80000001;int a[100][100] = {0};int getMaxSum(int *b, int n){ in原创 2013-04-10 18:01:48 · 1116 阅读 · 0 评论 -
递归方法求全排列
/*****************************************************************\全排列问题 例如,输入: 31 2 3输出:1 2 31 3 22 1 32 3 13 1 23 2 1\*****************************************************************/#原创 2013-04-11 10:08:56 · 1115 阅读 · 0 评论 -
百度推荐与个性化部-架构组一面
第一次电话面试就来自百度,可想而知,我还是有点小紧张的...导致自我介绍时忘了好几句台词,好尴尬...直接切入正题吧.1.先做一下自我介绍.这个其实事先准备好的,不过说的时候还是没能发挥到最好.忘了好几句台词,因此也提醒我,自我介绍一定要对着镜子多练几次,说的滚瓜烂熟才行.2.对Linux的了解情况.如实回答了,问了几个命令,都挺简单的,然后问在Linux下开发过什么项目没,也如实原创 2013-04-10 17:26:40 · 2159 阅读 · 1 评论 -
递归方法求不重复排列
/*******************************************************************\输入n个数,输出由这n个数构成的排列,不允许出现重复的项输入:31 1 2输出:1 1 21 2 12 1 1思路:先手工模拟排列的过程,在第三个排列2 1 1中,我们之所以能够写出来,是因为我们能发现1和2是不同的数,而计算不能,因此在存原创 2013-04-11 13:25:04 · 1104 阅读 · 0 评论 -
编程之美---不要被阶乘吓倒
#include//一个整数乘以2的效果是这个数像左移一位//逆向思考,一个偶数的最低位的1在哪个位置就可以转化为这个偶数中2的因子的个数//num为输入的整数int lowestOne(int num){ if(num== 0 || (num%2==1)) return 0; int ret = 0; while( (num & 0x00000002) != 2) { n原创 2013-04-10 15:18:49 · 739 阅读 · 0 评论