面试经验:Facebook面试问题总结
摘要:说实话,其实我的眼界从来很狭窄,以前想的是,如果能在天朝帝都扎下脚跟,过上老婆孩子热炕头的日子,对我来说已很满足。所以之前也从未对出国读书或工作有过准备,下文所述很多内容都是我在最近的一小段时间里才接触到的,而且现在离正式入职还早,对于fb内部的情况并没有什么了解,签证之类的麻烦事还在办理中,说不定去不成了也是有可能的(-_-)……扯远了,总之就是说,虽然我已经尽力做到客观准确,但恐怕难免会有错漏,请读者不吝赐教。本文仅供参考,引起什么不好的后果本人不负责任 =,= Q: 你的学历、学校、专业、英语成绩、论文、竞赛获奖、工作经验、参与开源项目等背景情况?一定很牛吧? A: 真的不牛,矮丑穷..
阅读全文
posted @
2012-09-22 01:27
知识天地
阅读(1099)
推荐(0) 编辑
codeforces上一道贪心算法题
摘要:http://codeforces.com/contest/218/problem/B贪心算法:STL优先队列实现最大堆,最小堆#include<iostream>#include<queue> using namespace std;const int MAX=1001;int a[MAX];int calPrize(int n, int x){ int start=n-x+1; return (start+n)*x/2;} int fun(int n, int m, int pos[]){ priority_queue<int,vector<int>
阅读全文
posted @
2012-09-19 14:25
知识天地
阅读(434)
推荐(0) 编辑
priority_queue 用法总结
摘要:今天在写堆和哈夫曼树的ACM题的时候,接触到priority_queue的用法,由于比较函数的难些,请教过队内的红薯和杨大牛后才稍微弄明白些,下面总结如下,首先我是用手写的堆来过题的,其实和照黑书指导上的那个堆的代码差不多。 写完之后就看了下STL里面的priority_queue的用法就开始研究,首先是用了网上找的一个写比较函数的方法是用操作符重载做的。代码如下://比较函数对于结构体struct heapmin{heapmin(int tx){x=tx;};int x;};struct heapmax{heapmax(int tx){x=tx;};int x;};bool operator
阅读全文
posted @
2012-09-19 07:25
知识天地
阅读(1708)
推荐(0) 编辑
Hulu宣讲会小记(9月5日计算所)转
摘要:2013的校园招聘已经正式拉开序幕。Hulu的宣讲会是我参加的第一个宣讲会,心情十分激动。晚上7点正式开始,因为担心人多,我5点半就跑过去了。可是大家好像没有那么积极,6点半以后才陆续来人,不过最后还是把计算所的报告厅挤得满满的,看来Hulu还是很有号召力哒。就像“早起的鸟儿有虫吃”一样,我来得早既有好座位,还有Hulu发的杯子,好喜欢,这里炫耀一小下下。下面言归正传,说一下宣讲会的情况。这里声明,都是我做的笔记的内容,不一定准确,一切数据都以Hulu官方发布的消息为准。我主要是想说一下自己的听后感。每一个大公司有会有自己的个性口号,它可以说是公司文化的浓缩版。Hulu的Mission就是“A
阅读全文
posted @
2012-09-11 23:40
知识天地
阅读(377)
推荐(0) 编辑
优先队列实现n路归并算法O(n * lgK)
摘要://problem description: merge K sorted lists with total N elements//solution: put the front element of each list into a priority queue,// till finish, pop the min value from the priority queue, and enqueue// the next element in corresponding list, delete that element//time complexity:// ...
阅读全文
posted @
2012-09-09 18:59
知识天地
阅读(528)
推荐(0) 编辑
单调栈 Histogram
摘要:这个题目是一个好朋友给我讲的方法,我按照自己的理解,敲出来代码。 所以把算法流程和代码贡献出来,希望和大家共同学习。题目大意:给出一个柱形统计图(histogram), 它的每个项目的宽度是1, 高度和具体问题有关。 现在编程求出在这个柱形图中的最大面积的长方形。例如:7 2 1 4 5 1 3 37表示柱形图有7个数据,分别是 2 1 4 5 1 3 3, 对应的柱形图如下,最后求出来的面积最大的图如右图所示。分析:如果采用枚举的方式,如果当前我们枚举项是 i = 0, 即 height = 2,我们用另外两个变量 j 和k 向左和向右两个方向搜素,找到第一个 小于 height的下标,这样
阅读全文
posted @
2012-09-06 22:32
知识天地
阅读(380)
推荐(0) 编辑
最大长方形 (Maximum Submatrix & Largest Rectangle)(涵盖各种求最大矩形题目)
摘要:在这篇文章里,我将探讨几个和求最大长方形相关的题目,并试图说明如何把一些相对复杂的问题化归成简单的易解的问题。这里的最大,可以指长方形内所有元素之各最大,也可以指面积最大。问题一(最大和子矩阵): 有一个 m x n 的矩阵,矩阵的元素可正可负。请找出该矩阵的一个子矩阵(方块),使得其所有元素之和在所有子矩阵中最大。(问题来源:http://acm.pku.edu.cn/JudgeOnline/problem?id=1050)问题二(最大 0/1 方块): 有一个 m x n 的矩阵,元素为 0 或 1。一个子矩阵,如果它所有的元素都是 0, 或者都是 1,则称其为一个 0-聚类 或 1-聚类
阅读全文
posted @
2012-09-06 09:29
知识天地
阅读(3242)
推荐(0) 编辑
STL-priority_queue用法(重点: 升序,小根堆)
摘要:昨晚除夕夜,没有看春晚,而是一个人在实验室参加了科大ACM的比赛。 一句话总结:完全找虐。哎……刚开始还有点自信的我,被打击了。 让自己明白,我根本不聪明啊。恩,但对于未来,还是要相信自己!用积极乐观的心态 + 勤奋刻苦,去拼搏。 要想达到一定的高度,必须一直勤奋、刻苦,积累。 打击归打击,收获还是有的。第一是,意识到不断的勤奋很重要;第二是,见证了,程序不经常写,很常用的技巧都会陌生……昨天写快排+三次二分都花了很久;而后一道模拟题,BFS+priority_queue,忘记了优先队列的用法……加油。下面,总结一下priority_queue的用法,免得以后又忘记了,还要到处找(C++...
阅读全文
posted @
2012-09-05 14:21
知识天地
阅读(8793)
推荐(0) 编辑
十进制数1~n中1出现的次数
摘要://copyright@ saturnman //updated@ 2011 July #include "stdafx.h" #include "string.h"#include "stdlib.h"int NumberOf1(const char* strN);int PowerBase10(unsigned int n);/////////////////////////////////////////////////////////////////////////////// Find the number of 1 in
阅读全文
posted @
2012-09-04 14:54
知识天地
阅读(472)
推荐(0) 编辑
签了工作之后才发现,自己太草率了.....我看过的关于职业规划最好最全面的一篇文章
摘要:在担任公司高管的几年间,我面试过数以百计的各个层面的员工,其中最让我感到遗憾的一个现象就是很多人有着非常好的素质,甚至有的还是名校的毕业生,因为不懂得去规划自己的职业,在工作多年后,依然拿着微薄的薪水,为了一份好一点的工作而奔波。很多这样的人,他们只要稍微修正一下自己的职业方向,就能够在职业发展上走得更从容。有一次一个大连理工大学的研究生,好像是学电子的,来应聘我们的公关企划部部长。那小伙长得不错,将近一米八的身高,很阳光,个人素质也很好。他研究生毕业后去了一家稍微有点规模的IT企业,因为他对于软件的了解很不够,就没有做技术,而是从事管理,后来做到了总经理助理,主管行政和企划。工作5年后的薪水
阅读全文
posted @
2012-09-04 14:12
知识天地
阅读(1236)
推荐(0) 编辑
百度面试题
摘要:一面:1.linux进程通信的方法2.线程同步(我扯到了signal和criticalsection的区别那些)3.二叉树,找到最大距离4.假设有100个人登记,有一个疯子,疯子的行为是:随机做一个座位正常人的行为是:尽量做自己的,如果自己的被占了,随机做一个。问:最后一个登机的人,坐自己位置的概率5.如何给网页归类(我回答的是基于关键词库,然后kmp检索,后来又扯一会kmp)分享下同学今天面百度的真题1.自我介绍2.自己说自己做的比较好的项目3.介绍一个你最熟悉的排序算法,我说堆排序,然后如何构建,如何排序,举例说明何时不是稳定的4.堆,栈,全局数据,虚函数实现5.证明n可以表示成n=3^k
阅读全文
posted @
2012-08-29 13:18
知识天地
阅读(175)
推荐(0) 编辑
九格游戏最少移动步数算法实现
摘要:给九个格子1,2,...9 一共9个数组,每次只能交换9与他直接相邻的数字,计算从一种状态到另外一种状态的最少移动步数。用广搜+康拓展开的方法实现。#include "stdafx.h" #include<iostream> #include<string> #include <vector> #include <math.h>#include <map>#include <queue>using namespace std;const int MAX=400000;long int fac[]={1,
阅读全文
posted @
2012-08-29 11:20
知识天地
阅读(1002)
推荐(0) 编辑
康拓展开及应用
摘要:题目:给出n个互不相同的字符, 并给定它们的相对大小顺序,这样n个字符的所有排列也会有一个顺序.现在任给一个排列,求出在它后面的第i个排列.这是一个典型的康拓展开应用,首先我们先阐述一下什么是康拓展开。(1)康拓展开 所谓康拓展开是指把一个整数X展开成如下形式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[2]*1!+a[1]*0!。(其中,a为整数,并且0<=a[i]<i(1<=i<=n))(2)应用实例 {1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个:1
阅读全文
posted @
2012-08-28 18:06
知识天地
阅读(285)
推荐(0) 编辑
【转】人民搜索面经
摘要:发信人: YouTube (YouTube - Broadcast Yourself), 信区: Job标题: 人民搜索面试回忆发信站: 北邮人论坛 (Sat Oct 22 23:18:31 2011), 站内所投职位:搜索研发工程师结果:拒信1封一、面试形式 1、3轮1V1的技术面试;某轮面试通过,稍事休息后开始下一轮面试。 2、面试过程基本分为两部分: 1)对简历上所写项目的描述,及回答对方感兴趣的项目细节; 2)对方给出数组、链表等常见程序设计问题,要求描述解决问题的思路;并把思路转化为代码(手写)。 这一部分是最重要的环节,占面试总时间的85%以上。二、面试题回忆 1、删除字符串开始及
阅读全文
posted @
2012-08-27 22:55
知识天地
阅读(563)
推荐(0) 编辑
在两个有序的数组中找第N个数,二分查找 O(lgm+lgn)级
摘要:在两个有序的数组中找第N个数,O(lgm+lgn)级分类:算法2009-10-09 20:52981人阅读评论(3)收藏举报问题描述:Give a divide and conquer algorithm for the following problem:you are given two sorted lists of size m and n, and are allowedunit time access to the ith element of each list. Give an O(lg m + lgn)time algorithm for computing the kth
阅读全文
posted @
2012-08-27 08:28
知识天地
阅读(2698)
推荐(0) 编辑
编程之美——小飞的电梯调度算法之新解(中位数)
摘要:亚洲微软研究院所在的希格玛大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯每层都停。实习生小飞常常会被每层都停的电梯弄的很不耐烦,于是他提出了这样一个办法:由于楼层并不算太高,那么在繁忙的上下班时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客从一楼上电梯,到达某层后,电梯停下来,所有乘客再从这里爬楼梯到自己的目的层。在一楼的时候,每个乘客选择自己的目的层,电梯则计算出应停的楼层。问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少?解法一:暴力枚举法。从第1层枚举到第N层,求出电梯在x层停的话,所有乘客需要怕多少层楼。求出最少的那层即可。代码略。解
阅读全文
posted @
2012-08-26 14:12
知识天地
阅读(1112)
推荐(0) 编辑
有n 个长为m+1 的字符串,求前后m个字符匹配所能形成的最长字符串链:利用弗洛伊德算法求最长路径
摘要:有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。把字符串看成图中的一个顶点,两字符串匹配则两个顶点间有边,从而转化为图的问题。利用弗洛伊德算法求图的最长路径。[cpp]view plaincopy#include<iostream>#include<string>usingnamespacestd;#defineINFINITY-10000#defineMAX_VERTEX_NUM20typedefstructMGraph{strin
阅读全文
posted @
2012-08-23 11:15
知识天地
阅读(788)
推荐(0) 编辑
网易有道笔试:求连通图的割点(关节点)
摘要:题目:求一个连通图的割点,割点的定义是,如果除去此节点和与其相关的边,图不再连通,描述算法。分析:1. 最简单也是最直接的算法是,删除一个点然后判断连通性,如果删除此点,图不再连通,则此点是割点,反之不是割点(图的连通性一般通过深搜来判定,是否能一次搜索完 全部顶点);2. 通过深搜优先生成树来判定。从任一点出发深度优先遍历得到优先生成树,对于树中任一顶点V而言,其孩子节点为邻接点。由深度优先生成树可得出两类割点的特性: (1)若生成树的根有两棵或两棵以上的子树,则此根顶点必为割点。因为图中不存在连接不同子树顶点的边,若删除此节点,则树便成为森林; (2)若生成树中某个非叶子顶点V,其某棵子树
阅读全文
posted @
2012-08-23 11:12
知识天地
阅读(6354)
推荐(0) 编辑
大量url,如何去重
摘要:问题:有大量的字符串格式的URL,如何从中去除重复的,优化时间空间复杂度1. 内存够用,将URL存入hash链表,每个URL读入到hash链表中,遇到重复的就舍弃,否则加入到链表里面,最后遍历得到所有不重复的URL。空间复杂度M,时间复杂度为O(N+N/M),M为不重复的URL,N为总URL数,但是M无法预测,所以存在风险,可能内存不足以存储所有的不重复URL。2. 为了解决内存可能不足的问题,需要把hash链表变化成普通的hash表,每个hash表元素指向一个文件文件,这个文件记录了所有该hash值对应的无重复的URL,那么在加入URL的时候就遍历对应文件中的URL,没有重复则加入到文件中。
阅读全文
posted @
2012-08-23 11:00
知识天地
阅读(5489)
推荐(0) 编辑
后缀树求最长子字符串
摘要:问题描述:给定一个文本文件作为输入,查找其中的最长子字符串。例如, ”Ask not what your country can do for you, but what you can do for your country"中的“ can do for you"就是最长子字符串。解题过程:这个问题最直接的解法就是变位词程序(《编程珠玑》2.4节)。如果将输入字符串存储在c[0..n-1]中,那么我们可能会使用类似下面的伪代码比较每个子串;maxlen = -1;for i = [0, n] for j = (i, n) if (thislen = comlen(&
阅读全文
posted @
2012-08-21 10:53
知识天地
阅读(671)
推荐(0) 编辑