自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jeffery的面试题库

革命尚未成功,同志还需努力!!!

  • 博客(70)
  • 收藏
  • 关注

翻译 Longest Substring Without Repeating Characters

Longest Substring Without Repeating Characters问题给定一个字符串,找出最长不重复字符的子串。例如,”abcabcbb”的最长子串是”abc”,长度是3。对于”bbbbb”的最长子串是”b”,长度是1。解决方案O(n) runtime, O(1) space – 两次遍历: 我们如何能立即查找一个字符是否在字符串中存在?答案是用一个最简单的表来存储出现过

2015-03-02 14:47:23 562

翻译 Valid Number

Valid Number问题:判断所给的字符串是不是数字。 例子: “0” -> true “0.1” -> true “abc” -> false面试者可能会问的问题:Q: 如果字符串中有空格怎么处理? A: 当决定一个字符串是否是数字时,忽略所有的前缀和后缀空格。 Q: 如果碰到字符中间有空格我是否应该忽略?比如”1 1” A: 不,只忽略开始和结束空格,”1

2015-02-25 16:11:45 653

翻译 String to Integer (atoi)

String to Integer (atoi)问题:实现atoi,将字符串转换成整数。 atoi方法首先将任何前置的空格舍弃,直到发现第一个不是空格的字符。然后从这个字符开始,第一个可能是正负号,也可能没有,后面紧跟数字。最后把这个字符串解析成数字。 字符串可能在整数数字后有一些其他的字符,我们需要忽略这些字符,并且这个不影响函数的功能。 如果一开始的非空格字符串不是有效的完整的数字,或者因

2015-02-24 16:30:58 632

翻译 Reverse Words in a String II

Reverse Words in a String II问题此问题和Reverse Words in a String非常类似,但是有以下限制:输入的字符串不包含前缀或者后缀空格,然后字符串只有以单个空格分隔。 要求不开辟任何其他存储空间,在原先字符串上进行替换。解决方案O(n) runtime, O(1) space – 在原先字符串上进行翻转: 指定第i个单词是wi,它的翻

2015-02-24 14:13:57 2244

翻译 Reverse Words in a String

Reverse Words in a String问题给定一个字符串s,将这个字符串根据单词翻转。 例如:s=”the sky is blue”, 返回 “blue is sky the”.面试者可能会问的问题Q: 单词是指? A: 一串没有空格的字符 Q: 换行符是不是也算是空格? A: 假设输入的字符串没有包含tab或者换行符 Q: 输入字符串会不会有前置或者后置空格? A: 可能会

2015-02-23 16:02:04 703

翻译 Implement strstr()

Implement strstr()问题实现strstr(). 返回needle(关键字)在haystack(字符串)中第一次出现的位置,如果needle不在haystack中,则返回-1。 注:strstr()是c++中的一个函数解决方案O(nm) runtime, O(1) space – Brute force:public int strStr(String haystack, Strin

2015-02-23 15:22:42 7230

翻译 Valid Palindrome

Valid Palindrome问题:给定一个字符串,判断是否是回文字符,只需考虑数字和字母,并且忽略大小写。例子:“A man, a plan, a canal: Panama” 是. “race a car” 不是. 面试者可能会问的问题: Q: 空字符串是否是回文? A: 我们认为空字符串是回文.解决方案:O(n) runtime, O(1) spacepublic boolean i

2015-02-23 15:04:30 405

原创 20150112

选择在半夜写博客,也是出于不得已,估计以后也是只有半夜有空了。这几天挺忙,都没上来汇报一下什么的,复习没啥特别大的进展,还是停留在之前的状态,某公司的HR倒是又来问候了。估计自己没啥特别大的motivation,应该让自己定个计划了,不需要很细致,但是至少得写下点什么来控制自己的进度。工作方面发现自己好像真像某人说的,一辈子做engineer的料,就是怎么都提不起兴趣写文档,大概一方面是我

2015-01-12 16:25:06 373

原创 20150102

今天是周五,工作仍然是如此繁忙,没有任何周末的感觉,总是在赶工,并且是一些个人觉得无意义的事情,manager要求这样做,然后就这样做下去了。终于昨天的那个错误解决了,通过注释了一些代码,把新的controller上使用project A的代码注释掉就好了,但是现在碰到了一个新问题,我的B project depend on A,即使在eclipse里面编译没问题,但是在server运行时会抛

2015-01-03 16:07:32 351

原创 slf4j的问题导致tomcat无法启动

今天碰到一个怪问题,slf4j的一个exception造成了eclipse里面tomcat无法启动,我甚至连代码都没有怎么修改过,不知怎么回事就不行了。根据stackoverflow的提示,是由于另外一个package depend on另外一个版本的slf4j,造成了版本冲突,但是我也不知道在maven里面怎么设置强制使用我想要的版本。东西只能stuck在那里,希望明天能够有所突破。另外

2015-01-02 13:59:50 2578

原创 2014年的最后一天

今天突发奇想,想总结一下过去的一年,不仅是作为一个普通程序员,更是作为一个平常人,一个新晋爸爸,来总结一下自己2014过得如何,另外想为自己的2015下一些决心。回顾今年,似乎感觉过得很快,非常忙碌,但是也感觉没有什么成就。除了又新买了套房以外,公司方面也没有升职,并且都没有升职的迹象,自己的小事业也搁置没有任何进展。时间似乎就这么从指缝中溜走了。当然很多时间都在陪伴孩子和家务中度过了,真的感

2014-12-31 14:59:17 396

原创 一个int数组,求乘起来最大的连续子序列

一道题目,和朋友分析了半天,只有以下的一些结论:1. 如果是正数的话,就全部乘起来就可以了2. 如果是偶数个的负数的话,就直接全部乘起来就可以了。3. 单数个负数的话是挺复杂的。。。

2011-05-21 13:32:00 667

原创 给一个数组,求a[i]<a[j]的情况下,j-i的最大值是多少,要求用O(n)时间复杂度

<br />碰到一道,看似挺简单,但是又挺难,到现在还没想出来,先放在这里。<br /> 

2011-05-21 13:28:00 1403 1

原创 树的深度优先非递归算法

前序遍历(pre-order traverse) public void DFS_Pre(Node root) { Stack s = new Stack(); while (s.Count != 0) { Console.WriteLine(s.Pop().value); if (root.left != null) s.Push(root.l

2011-05-19 12:29:00 798

原创 判断树的两个节点的公共ancestor

<br /> public Node GetCommonAncester(Node root, Node p, Node q) { if (covers(root.left, p) && covers(root.left, q)) root = GetCommonAncester(root.left, p, q); else if (covers(root.right, p) && covers(root

2011-05-19 11:56:00 712

原创 判断两棵二叉树是否是balanced

<br />static void Main(string[] args) { Node root = new Node(); Node c1 = new Node(); Node c2 = new Node(); root.left = c1; root.right = c2; Node c11 = new Node();

2011-05-19 11:39:00 474

原创 螺旋形打印矩阵

<br /><br />代码是从网上copy来的,但是自己理解了一下,并且重新修改了一下,本来他是逆时针打印的,现在我改成顺时针打印,挺好理解的。<br />这里用到的就是int[,]而不是int[][],据说int[,]只有在c#里面有,到现在还不知道具体怎么区分这两个之间的区别。<br /> <br /> int[,] array = new int[6, 6]{<br />              {11,12,13,14,15, 16},<br />              {21,22,23,

2011-05-19 07:12:00 745

原创 再读Dynamic Programming

<br />真后悔大学没有好好学,当时记得老师说过动态规划的题目,但是自己当时根本不知道学这个是干嘛用的。。。<br />现在想起来应该先出来工作两年,面试两年,然后再开始上课就知道这些东西的重要性了!<br />言归正传,来说DP<br /> <br />背包问题是NP完全问题,DP用来求背包问题是最优的可解方案之一。<br />所谓背包问题就是:设有n件物品,每件价值记为Pi,每件体积记为Vi,用一个最大容积为Vmax的背包,求装入物品的最大价值。<br />用一个数组f[i,j]表示取i件商品填充一个

2011-05-19 05:21:00 696

原创 重载运算符

<br />没想到在C#里面也可以重载运算符,还挺有趣的,具体的格式是这样子的:<br />public static decimal operator +(Program a, int b) { return a.i + b; } <br />用的时候也很有趣:<br /> <br />Program p1 = new Program(); Program p2 = new Program();

2011-05-18 16:09:00 404

原创 碰到自己弱项了,决不能放过!

int[][]和int[,]之间的区别。从网上查到int[][]叫二维数组,也算是一个矩阵,矩阵要transform的话也很简单的几句代码。贴一段人家写的代码,感觉还算靠谱,明天自己要写一下!void swap(int &a,int &b) { int temp=a; a=b; b=temp; } void Reverse(int (*a)[3],int n) { int i,j; for(i=0;i > a[i][j]; } R

2011-05-18 15:55:00 512

原创 一道Amazon经典的题目,经常会考到,给一个target数字以及一个数组,求所有的加起来为这个数字的组合

<br />用HashTable来做最方便,其实这道题目已经很久之前就知道了,怎么做已经滚瓜烂熟了,结果我在写code的时候还碰到了这样那样的问题,看来有些问题看似容易,但是没有实践一下的话说不定真到到实践的时候就又会碰到一大堆问题的。<br />以下贴一下这个函数的实现,可能写的比较冗余了,但是算法还是基本能体现的<br />public static void FindTarget2Numbers(int[] a, int targetNumber) { Ha

2011-05-18 13:37:00 1193

原创 What's the difference between overload and override

<br />Overload means same function name defined in the class, but with different parameters. It's just about the polymophysm.<br />void func( int );<br />void func( double );<br />void fund( unsigned int );<br /> <br />Override means same function name wit

2011-05-18 13:06:00 891

原创 What's the difference between Heap and Stack

也算是C++里面的一个概念吧。另外还涉及到了statichttp://www.cnblogs.com/jsean/articles/1599801.html

2011-05-17 15:35:00 668

原创 What's the difference between Dictionary, Hashtable & Hashset?

<br />This is just the reference. Will post the difference late when have time.<br />http://suebuntu.blogspot.com/2010/06/c-dictionary-hashtable-and-hashset.html

2011-05-17 09:01:00 609

原创 Amazon面试题目

<br /><br />1.      Computer Fundemental<br />2.      OO design<br />3.      Coding question<br />4.      Data structure<br />5.      Algorythm<br />6.      Edge case<br />7.      Quality Ensurance.<br />8.      Customer Focus<br />9.      

2011-05-17 07:02:00 1458

原创 How to answer tell me about yourself question.

<br />Non-tech related question.

2011-05-11 02:52:00 453

原创 另外一道关于Random的编程题

如果有1000个不同的数字,如何随机取得其中的100个成为数列,并且数列中没有重复。

2011-05-11 01:44:00 449

原创 一道数据库的概念题

<br />Do you know what's the ACID?<br /> <br /> <br />http://en.wikipedia.org/wiki/ACID<br /> <br />atomicity, consistency, isolation, durability is a set of property which garentee the database transaction processed reliable.<br /> <br /> <br />Atomicity 

2011-05-10 10:22:00 569

原创 快速排序

<br />今天研究了一下快速排序法,发现自己还真笨,快速排序法到现在都还没搞清楚。<br />这个方法用的是递归(每做一次partition,都会将pivotloc放到中间,既把比它小的放左边,比它大的放右边)<br />public void QuickSort(int [] r, int low, int high) { int pivotloc = 0; if (low < high) {

2011-05-08 16:01:00 458

原创 Write a method to replace all spaces in a string with ‘%20’.

exclusively for [email protected] Write a method to replace all spaces in a string with ‘%20’. pg 60SOLUTIONSThe algorithm is as follows:1. Count the number of spaces during the first scan of the string.2. Parse the string ag

2011-05-08 02:35:00 1240

原创 查询链表是否有重合节点

<br />和同事讨论了一下,有好几种方法是可行的:<br />1. 算出两个的<br />2. 将链表A走完,末尾指向的B的头节点<br />3. 将A链表倒转,然后走B链表,如果B链表的最后一个节点是A链表之前的头节点,则表示重合。<br />4. 用Hashtable来存储A链表,然后走B链表,来判断hashtable里面是否有重复节点存在。<br />public Node GetFirstDuplicateNode(Node a, Node b) { i

2011-05-07 03:22:00 1093

原创 求出两个字符串的最长公共子串

这道题要用到suffex-tree的概念,可能还需要用到动态规划(英文可能叫Dynamic Programming),现在突然有事情要做,之后一定补上。下面是wiki的解释:http://en.wikipedia.org/wiki/Longest_common_substring_problem

2011-05-06 05:58:00 602

原创 向右swap int数组

public void MoveArray(int[] arr, int n) { int index = 0; int count = 0; int len = arr.Length; n = n % len; int prev = arr[0]; while (count

2011-05-05 14:09:00 393

原创 求出int数组中和最大的子序列

public int GetMaxSum(int[] arr) { int temp = 0; int max1 = 0; int max2 = 0; for (int i = 0; i 0) { max1 = temp; } else

2011-05-05 02:41:00 409

原创 输入一个字符串的anagram的C#算法

<br />输出字符串所有的anagram的string,用的是递归调用的办法。non-recursive: TODO!!!<br /> <br />public void GetAnagramString(string str1, string str2) { if (str1.Length < 1) Console.WriteLine(str2 + str1); else

2011-05-04 09:52:00 978

原创 Some other questions

1. What's the test plan need to contain?2. What's the SDLC?3. If you manager don't agree your estimation. For example, the manday you provide is more than he want.

2011-05-04 04:48:00 434

原创 计算机英语词汇贴

<br />异或:Exclusive or<br />小括号:bracket (Parentheses)<br />中括号:square brackets<br />大括号:brace<br /><br />

2011-05-03 03:24:00 550

原创 不用加号计算加法

<br />int add(int a, int b){ if(b==0) { return a; } if(a==0) { return b; } int sum=a^b; int temp = a&b; int carry = temp<<1; return add(sum, carry);} <br />用异或算出相加出来的各位(因为1和0相加才不会进位,所以用^异或符号,进位则是靠后面),然后用& 算出进位(当此位都为1时才会进位,所以用&

2011-05-03 02:23:00 2004

原创 C++中各种运算符的知识

<br />以下是各种不太常见的运算符,很多平时一般用不到,但是在写算法的时候却会被考到:<br /> <br />&(按位与)、|(按位或)、^(按位异或)、~   (按位取反)。 <br /><br />其中,按位取反运算符是单目运算符,其余均为双目运算符。 <br /><br />位运算符的优先级从高到低,依次为~、&、^、|, <br /> <br />   (1)左移运算符( < <) <br />        左移运算将一个位串信息向左移指定的位,右端空出的位用0补充。例如014 < <2,结

2011-05-03 02:06:00 882

原创 some non-tech related question

1. Why do you want to join microsoft?2. Why do you want to join our team instead of your team?3. Need to prepare some question about the project you apply.4. If the testing schedule changed just before the deadline. How would you do?5. If some p0 bug found

2011-05-01 14:39:00 571

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除