面试经验
文章平均质量分 60
行走江湖
方向:分布式计算、实时流计算、数据挖掘、后台开发、NoSQL、Hadoop/HBase、Unix/Linux、Java、C/C++、Python。
联系方式:http://t.qq.com/X-L2008
QQ:394102339
展开
-
一位硕士毕业生三个月求职经历与经验的结晶
<br />一、 求职历程总结<br /><br />2007年1月10日,随着在三方协议上郑重签下自己的名字,我的求职历程终于划上了一个圆满的句号。在这三个月漫长而艰辛的过程中,我付出了很多,经历了很多,也收获了很多。这一路走来,要感谢的人太多太多,尤其要感谢每一个在找工作过程中关心、帮助过我的人,我会一生铭记你们的恩情。现在,尘埃落定,到了该回报的时候,我首先要回报的就是我的母校和同学。所以,决定把自己找工作中积累的经验写出来给大家分享,希望能对那些将要找工作或还在找工作的同学有所帮助。<br /><b转载 2010-09-10 09:47:00 · 2960 阅读 · 0 评论 -
将数字n转换为字符串的函数itoa
<br />以下是我自写的itoa函数,欢迎指正<br /> <br />#include <stdio.h>#include <string.h>void reverse(char s[]){ int i,j,temp; for(i=0,j=strlen(s)-1; i < j; ++i,--j) { temp=s[i]; s[i]=s[j]; s[j]=temp; }}void itoa(int n, char s1[]){ int i;原创 2011-04-26 11:08:00 · 614 阅读 · 0 评论 -
递归到非递归的转换
<br />递归到非递归的转换<br /> <br />一. 为什么要转换<br /> 考虑函数的递归,因为第N次与第N+1次调用所采用的栈不能重用,可能会导致多次调用后,进程分配的栈空间耗尽.<br /> 解决的方法之一就是用自己可控制的栈代替函数调用栈,从而实现递归到非递归的转换.(用户栈当然必须是可以重用的,否则也就没有意义).<br /> 我们将会发现,实际上用户栈相比函数调用栈来说,可以非常小下面就以ackerman函数为例<br /> <br />二.ackerman函数<br />已知A转载 2010-10-23 21:07:00 · 613 阅读 · 0 评论 -
求二叉树中节点的最大距离
<br />求二叉树中节点的最大距离,两个节点的距离的定义是这两个节点间边的个数,比如某个孩子节点和父节点间的距离是1,和相邻兄弟节点间的距离是2,优化时间空间复杂度<br />这是论坛上的一道算法题,我目前想到的解法是:<br />二叉树中任意两个节点间的最大距离,那么其中一个节点必定是层次最深的一个节点,记该节点为A。该二叉树中层次最深的节点可能有多个,但只需要选择其中一个记为A。找出了A,那么遍历二叉树中其它非A的节点,访问各节点的时候求出该节点到A的距离,从而记录下求到的最大距离。<br />因此题转载 2010-10-07 18:46:00 · 684 阅读 · 0 评论 -
构造、拷贝构造、析构
<br />#include <iostream><br />class CA<br />{<br />public:<br /> CA(int i=10)<br /> {<br /> m_i=i;<br /> std::cout<<"执行构造函数:m_i="<<m_i<<std::endl;<br /> }<br /> ~CA()<br /> {<br /> std::cout<<"执行虚构函数:m_i="<<m_i<<std::endl;<br /> }<br /> CA(const CA& ca原创 2010-10-10 10:25:00 · 407 阅读 · 0 评论 -
unsigned 和 int
#include int main(){ unsigned int a=6; int b=-20; a-b6"); a-b-6"); return 0;}输出:>6原创 2010-10-10 10:05:00 · 604 阅读 · 0 评论 -
fibonacci数列 (递归与非递归)
<br />#include <stdio.h><br /> <br /> <br />int Fibonacci(int n)<br />{<br /> int an, a1=0, a2=1;<br /> if(n<=0)<br /> return a1;<br /> if(n==1)<br /> return a2;<br /> for(int i=1; i<n; ++i)<br /> {<br /> an=a1+a2;<br /> a1=a2;<br /> a2=an;<br /> }<br原创 2010-10-10 10:48:00 · 500 阅读 · 0 评论 -
整数A和B的二进制表示中有多少位不同
问题:给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?<br />思路:对于给定的两个数,从最低位开始扫描,分别找到A和B的第一个“1”出现的位置,n1和n2<br /> 1)n1==n2,将n1(n2)位置0,继续往高位找<br /> 2)n1<n2, 说明A的n1位为1,但B的n1位为0,num++;将A的n1位置0,继续寻找A的下一个1的位置<br /> 3)n1>n2,转载 2010-10-08 10:17:00 · 929 阅读 · 0 评论 -
整数A和B的二进制表示中有多少位不同
问题:给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?<br />思路:对于给定的两个数,从最低位开始扫描,分别找到A和B的第一个“1”出现的位置,n1和n2<br /> 1)n1==n2,将n1(n2)位置0,继续往高位找<br /> 2)n1<n2, 说明A的n1位为1,但B的n1位为0,num++;将A的n1位置0,继续寻找A的下一个1的位置<br /> 3)n1>n2,转载 2010-10-08 10:17:00 · 2827 阅读 · 0 评论 -
微软面试题---求子数组最大乘积问题
<br />最近从网上看到一个讨论较多的题目:<br /> <br /> “ 给定一个长度为N的整数数组,只允许用乘法,计算任意(N-1)个数的组合乘<br />积中最大的一组,并写出算法的时间复杂度。”<br /> <br />分析:<br />(1) 按题目的要求,是求去掉一个元素后,剩下元素的乘积最大的那种组合。<br />(2) 整数数组,其元素可能取值为 : 正整数、负整数,和零。<br />(3) 设数组中有 p个零, q 个 负数, r 个正数<br /> a ) 若 p>转载 2010-10-03 15:39:00 · 849 阅读 · 0 评论 -
c++笔试题汇总 (转)
<br />c++笔试题汇总 <br />①链表反转<br />单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。<br />最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:<br />struct linka { <br />int data; <br />linka* n转载 2010-10-03 11:18:00 · 589 阅读 · 0 评论 -
海量数据处理算法
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。 1.Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来转载 2011-05-06 14:51:00 · 589 阅读 · 0 评论