面试笔记
文章平均质量分 66
普通网友
这个作者很懒,什么都没留下…
展开
-
微策略面试
一面:看到是个mm面试我,心里一凉,果然我最不喜欢mm面试我==首先,自我介绍。果然,问我跟我两个排序好的数组,找出第k大,呃,忘了==大概写出了。leetcode刷的都记得的啊>果然遇到mm我就会挂的=-=第二题,简单,空格替换为 就问了2题。问了下virtual table实现原理,object oriented.幸好是一定有2面的,不然我原创 2013-10-22 19:50:51 · 1084 阅读 · 0 评论 -
百度面试
二面问的一些问题都挺简单的,有一个动态规划的一定有问题,但是不管了==给定一个矩阵,找到从左上角到右下角路径乘积中0的个数最小的路径。呃,一开始想到的显然是动态规划,但是总觉得有点问题,说了一个最傻逼的深度优先不断搜索。后来,还是回归动态规划。三面,我擦,我今天人品真是暴低,早上记错房间号,记成了417,结果到这个宾馆没有这个房间,后来问416的我应该在哪里,那个人说就是这原创 2013-10-17 16:07:39 · 214 阅读 · 0 评论 -
malloc 不能返回动态内存
malloc 不能返回动态内存关于malloc的理解:#include #include void getmemory(char *p){ p=(char *) malloc(100); strcpy(p,"hello world");}int main( ){ char *str=NULL; getmemory(str); prin转载 2013-10-09 11:25:19 · 1649 阅读 · 1 评论 -
线段树-多少间隔是交叉的
摘自mit bbs的pdf177. Given a list of intervals, 比如 (10,20),(30,50)...,and a target interval,比如(18,35) 找有多少 overlap.每个节点记录信息:•Eachnode v hasa pointv.ptandtwo listsv.left andv.right.•u.原创 2013-09-22 11:14:00 · 270 阅读 · 0 评论 -
B tree,B+ tree学习
B+-treeB+-tree:是应文件系统所需而产生的一种B-tree的变形树。一棵m阶的B+树和m阶的B树的异同点在于: 1.有n棵子树的结点中含有n-1 个关键字; (与B 树n棵子树有n-1个关键字 保持一致,参照:http://en.wikipedia.org/wiki/B%2B_tree#Overview,而下面B+树的图可能有问题,请读者注意)转载 2013-09-22 10:17:10 · 268 阅读 · 0 评论 -
mitbbs 工作调度类似问题
172. 一个有序序列,从某个地方 rotate,求在 rotate 的位置,比如 1 3 5 0 0 0,那么 rotate 的位置是 5,他后来只用了 5 行就写出来了,很 nb,被 bs 了~~//average: O(log N) worst case: O(N)int search(int *arr, int st, int en){if(arr[st] if(e转载 2013-09-16 16:23:32 · 317 阅读 · 0 评论 -
三色旗 问题 Dutch National Flag Problem (DNFP)
Dutch National Flag Problem (DNFP)不使用额外的存储空间,将三组数按顺序排列。三个旗帜问题,也可以用于三组数字,都是类似的。http://www.iis.sinica.edu.tw/~scm/ncs/2010/10/dutch-national-flvoid three_way_partition(int a[], int n){int p原创 2013-09-21 17:07:57 · 359 阅读 · 0 评论 -
字符串的全排列
字符串的全排列问题还是一个相当值得思考的问题。递归方式的全排列很容易想到,但是递归要考虑是否会出现相同字符的时候。出现相同字符,就不交换。#includeusing namespace std;#include//在[nBegin,nEnd)区间中是否有字符与下标为pEnd的字符相等bool IsSwap(char* pBegin , char* pEnd){ cha原创 2013-09-21 09:58:22 · 202 阅读 · 0 评论 -
count-array,后部分比该元素小的个数
220. 给定一个数字数组 (Let's call it count-array) ,其中每个元素是从末端数小于原数组中该元素的个数。求原数组。原数组中元素是从 1 到 n。Example:原数组 4,1, 3, 2Count array 3, 0, 1, 0求 nlogn 的算法。原来以为也是按照提醒,考虑通过 merge sort 的变形http://b原创 2013-09-21 17:05:04 · 489 阅读 · 0 评论 -
微软面试题:求整数随机数构成的数组中找到长度大于=3的最长的等差数列
看了网上自称是O(N^2)的算法,无语,那么复杂的空间复杂度,完全没有参考价值。忘了在哪里看到,总之也是csdn。还是正常的O(n^3)的算法比较给力,正常,一般情况也是能想到的不保证以下代码正确性,思路大概就是那样在这里用最简单的思路,时间复杂度为O(n^3)思路:我们知道任意取2个元素,都能构成一个长度为2的等差数列,比如:a,b就等构成一个转载 2013-09-21 09:12:29 · 309 阅读 · 0 评论 -
int(*p)[]和int(**p)[]指针 等指针问题
1. int(*p)[10]:根据运算符的结合律,()的优先级最高,所以p是一个指针,指向的一个维度为10的一维数组。p一个指向数组的某一行[cpp] view plaincopyprint?int a[1][4]={1,2,3,4}; int (*p)[4] = a;//p point to the row o转载 2013-10-09 12:53:56 · 341 阅读 · 0 评论 -
指针数组和数组指针
指针数组,故名思义,就是指针的数组,数组的元素是指针; 数组指针,同样,就是直想数组的指针。 简单举例说明: int *p[2]; 首先声明了一个数组,数组的元素是int型的指针。 int (*p)[2]; 声明了一个指针, 指向了一个有两个int元素的数组。 其实这两种写法主要是因为运算符的优先级, 因为[]的优先级比*高。所以第一种转载 2013-10-09 14:44:26 · 170 阅读 · 0 评论 -
函数指针和指针函数
【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可转载 2013-10-09 15:02:49 · 165 阅读 · 0 评论 -
C++虚函数表
虚函数的虚函数表实现机制#include #include using namespace std;class Base {public:virtual void f(){cout << "Base::f" << endl; }virtual void g(){cout << "Base::g" << endl; }virtual void h(){co转载 2013-10-15 08:28:00 · 189 阅读 · 0 评论 -
float与double的范围和精度
1 范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位)8bits(指数位)23bits(尾数位)double:1bit(符号位)11bits(指数位)52bits(尾数位)转载 2013-10-11 12:46:42 · 217 阅读 · 0 评论 -
雅虎笔试题整理+自己写的答案
Question1. (单选)FTP协议的端口号码是:2 n/ B8 h7 e" P9 K"T5 P1. 217 {, k; I: K4 R6 b) I- U2. 23 @5 C' p. A2 M$ o" \9 V0 Z/ b3. 253 q) j, J) e9 W; Z2 @4. 1080ftp的端口号20、21有何区别?一个是数据端口,一个是控原创 2013-10-10 14:28:06 · 2631 阅读 · 0 评论 -
数据库范式(1NF 2NF 3NF BCNF)详解
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 范式说明 1.1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是转载 2013-10-10 15:51:22 · 290 阅读 · 0 评论 -
一些变态的笔试题目-摘自程序员面试宝典
1.C中printf计算参数时是从右到左压栈int main(){int arr[]={6,7,8,9,10};int *ptr=arr;printf("%d,%d\n",*ptr,*(++ptr));coutreturn 0;}这个输出是7,78 8C中printf计算参数时是从右到左压栈的。然后我想实践一下co原创 2013-09-22 13:36:08 · 289 阅读 · 0 评论 -
TCP协议/IP协议
TCP/IP 协议集确立了 Internet 的技术基础。TCP/IP 的发展始于美国 DOD (国防部)方案。 IAB (Internet 架构委员会)的下属工作组 IETF (Internet 工程任务组)研发了其中多数协议。 IAB 最初由美国政府发起,如今转变为公开而自治的机构。IAB 协同研究和开发 TCP/IP 协议集的底层结构,并引导着 Internet 的发展。TCP/IP 协议集转载 2013-10-09 21:19:07 · 207 阅读 · 0 评论 -
c++中,引用和指针的区别
指针和引用的区别(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针. 由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值. String & rs = string1; 由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是转载 2013-10-09 15:45:34 · 424 阅读 · 2 评论 -
程序员面试题精选100题(46)-对称子字符串的最大长度[算法]
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。引子:判断字符串是否对称要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不相等,那转载 2013-09-20 10:17:11 · 359 阅读 · 0 评论