刚用了一年,就开始粘锅了,很担心会不会含有特氟龙?是不是要扔掉了? 可是,$ 100 买的,才用了一年,不甘心啊。 有没有可以推荐的好的 fry pan 呀?先谢谢了。
f*t
2 楼
这次申full-time两轮电面后被拒,干脆把面经发出来攒rp。因为没有on-site经验,题 目参考作用一般吧。 首先是申summer intern时的两次电面。记不清楚了,能想起多少coding题就写多少, 杂七杂八的问题就忽略了。当时准备得不充足,答得不太好,居然能过电面,实在幸运。但最终也没 能去成…… 第一面,三哥: 1. A string consists of parentheses and brackets for example "(()([]))", check if it is well formed. 经典题,我用stack做的。刚才顺手看了下当时写的代码,发 现还是有bug…… 2.Given strings like "CB", "BD", "DE", find the sequence of alphabets. The result is "CBDE" for the example. 当时完全没头绪,后来跟朋友讨论,解法是基本 算法Topsort。 第二面,大概是老美: 1. Verify whether a string contains all the characters of another string. 经典题,开个数组计数。 2. Given two strings that one string contains the other string, while the other string could be split into any set of substrings. Please find the minimum split time. Example: "apple pie is deicious" contains "applepie"'s substring set "apple" and "pie", so the minimum split time is 1. 写伪代码,貌似是普通DP。 3.忘了具体题目,跟第二题类似,我没答好。 然后是最近的full-time电面。果断被某三哥坑了。 第一面,老美: 1. Is two arrays share the same set of objects but are probably different permutations. 经典题,用hashmap。 2. 开放设计题,让第1 trillion次google搜索返回一个中奖页面。重点是怎样在分布式系统里 统计搜索次数;另外还要防止一个用户多次中奖。不懂,随便扯了点…… 3. Use a dictionary to split search string into valid words. For example, "applepie" -> "apple" + "pie". 自我感觉答的不错,网上有个详解: http://thenoisychannel.com/2011/08/08/retiring-a-great-intervie problem/ 第二面,三哥: 1. Test whether an integer is a palindrome. 我一开始的代码用sprintf打印到字符 串里,然后从字符串首尾开始比较是否相等。三哥又问如果不知道int有多少位怎么办,我又写了个 计算有多少位的代码,并动态分配相应长度的字符串。三哥还是不满意,非要in-place的解法。最 后我才想出最优解,虽然不难,但没见过的题真心难解啊…… 附上代码,感觉不太需要考虑溢出的问题: bool IsPalindrome(int i) { if(i < 0) return false; int num = i; int reversed = 0; while(i > 0) { reversed *= 10; reversed += i % 10; i /= 10; } if(reversed == num) return true; else return false; } 本来三哥就迟了十来分钟,纠结完这题花了差不多半个小时。我问接下来的题是什么,他说没了,进 入提问环节。我问他做什么项目,他说是跟chrome有关的保密project,不能透露信息,我就完全 无语了。还扯了些别的,他的态度比较差。 两周后HR打来电话把我拒了,dream company的面试就毁在三哥手上,郁闷啊。 md风水轮流转,以后我要是当了面试官,必然让三哥们求生不能求死不得!
2. Given two strings that one string contains the other string, while the other string could be split into any set of substrings. Please find the minimum split time. Example: "apple pie is deicious" contains "applepie"'s substring set "apple" and "pie", so the minimum split time is 1 3. Use a dictionary to split search string into valid words. For example, " applepie" -> "apple" + "pie". 这两个是一个问题吧?recursive + DP
T*e
15 楼
OMG,太肥了……我都不敢吃
A*u
16 楼
请问这个怎么想的 Given strings like "CB", "BD", "DE", find the sequence of alphabets ("CBDE " for the example") C-B, B-D,D-E, 你用topsort, 是有向图? 那顺序不是唯一的吗
【在 A**u 的大作中提到】 : Verify whether a string contains all the characters of another : string. 经 : 典题,开个数组计数。 : 这个不应该是建立hash map吗 你怎么设置数组呢
n*5
25 楼
雅俗共尝!呵呵呵。我啃了好几个鸡爪子!我的处女卤真不赖也 看来有市场~
【在 g******n 的大作中提到】 : 真好吃,我都吃完了,就着红酒
f*t
26 楼
貌似是一个问题,详细解答看后面的链接
【在 s******n 的大作中提到】 : 2. Given two strings that one string contains the other string, while : the : other string could be split into any set of substrings. Please find the : minimum split time. Example: "apple pie is deicious" contains : "applepie"'s : substring set "apple" and "pie", so the minimum split time is 1 : 3. Use a dictionary to split search string into valid words. For : example, " : applepie" -> "apple" + "pie". : 这两个是一个问题吧?recursive + DP
这题啥意思?打印每个单词第一个字母和最后一单词的最后一个字母? 2.Given strings like "CB", "BD", "DE", find the sequence of alphabets. The result is "CBDE" for the example. 当时完全没头绪,后来跟朋友讨论,解法是 基本 算法Topsort。
【在 f*******t 的大作中提到】 : 这次申full-time两轮电面后被拒,干脆把面经发出来攒rp。因为没有on-site经验,题 : 目参考作用一般吧。 : 首先是申summer intern时的两次电面。记不清楚了,能想起多少coding题就写多少, : 杂七杂八的问题就忽略了。当时准备得不充足,答得不太好,居然能过电面,实在幸运。但最终也没 : 能去成…… : 第一面,三哥: : 1. A string consists of parentheses and brackets for example "(()([]))", : check if it is well formed. 经典题,我用stack做的。刚才顺手看了下当时写的代码,发 : 现还是有bug…… : 2.Given strings like "CB", "BD", "DE", find the sequence of alphabets.
没考虑负数和溢出的话很简单。 int rev_int(int x); { int y = x, t = 0; while ( y != 0 ) { t = 10 * t + y % 10; y = y / 10; } return t; } bool is_palind(int x) { return (x == rev_int(x)); }
bool IsPalindrome(int i) { if(i < 0) return false; int num = i; int reversed = 0; while(num) { reversed *= 10; reversed += num % 10; if (num==reversed) return true; num /= 10; if (num==reversed) return true; } return false; }
【在 q****x 的大作中提到】 : 没考虑负数和溢出的话很简单。 : int rev_int(int x); : { : int y = x, t = 0; : while ( y != 0 ) { : t = 10 * t + y % 10; : y = y / 10; : } : return t; : }
B*1
44 楼
en. 学习了,我一直都用整个reverse再比较的方法。
【在 l*****a 的大作中提到】 : bool IsPalindrome(int i) { : if(i < 0) : return false; : int num = i; : int reversed = 0; : while(num) { : reversed *= 10; : reversed += num % 10; : if (num==reversed) return true; : num /= 10;
q*x
45 楼
不错。
【在 l*****a 的大作中提到】 : bool IsPalindrome(int i) { : if(i < 0) : return false; : int num = i; : int reversed = 0; : while(num) { : reversed *= 10; : reversed += num % 10; : if (num==reversed) return true; : num /= 10;
s*n
46 楼
似乎不对。 比如:10100 应该不算回文,但你的算法会返回true.
【在 l*****a 的大作中提到】 : bool IsPalindrome(int i) { : if(i < 0) : return false; : int num = i; : int reversed = 0; : while(num) { : reversed *= 10; : reversed += num % 10; : if (num==reversed) return true; : num /= 10;
1. A string consists of parentheses and brackets for example "(()([]))", check if it is well formed. 用stack。遇到( 和 [ 入栈,遇到 ) 或者 ] 查栈顶是不是匹配。不匹配return false 。否则pop栈顶继续。到string结束,return true。 2. Given strings like "CB", "BD", "DE", find the sequence of alphabets. The result is "CBDE" for the example. topsort。重点是考虑node的入度和出度。有环的话可以检测出来。 3. Verify whether a string contains all the characters of another string. 简单的数组,当做hashtable用。 4. Given two strings that one string contains the other string, while the other string could be split into any set of substrings. Please find the minimum split time. Example: "apple pie is deicious" contains "applepie"'s substring set "apple" and "pie", so the minimum split time is 1. DP + recursive + backtrace 5. Is two arrays share the same set of objects but are probably different permutations. 允许额外空间的话,用hashtable。否则直接排序后比较是否相等。 6. 开放设计题,让第1 trillion次google搜索返回一个中奖页面。重点是怎样在分布 式系统里 统计搜索次数;另外还要防止一个用户多次中奖。 这个题看interviewer的要求,可以弄得非常非常难。比如要考虑server crash,实时 返回中奖结果,最小化io cost等等。。。 设计太复杂,就不写了。 7. Use a dictionary to split search string into valid words. For example, "applepie" -> "apple" + "pie". 自我感觉答的不错,网上有个详解: http://thenoisychannel.com/2011/08/08/retiring-a-great-intervie problem/ 跟4一样。 8. Test whether an integer is a palindrome. 看了上面的讨论,有两个疑问。 1、测试palindrome是基于binary representation还是十进制。得问interviewer。 比如,十进制下11是palindrome,二进制下不是的(1011)。 2、末尾有0算不算palindrome 比如1210。可以当做01210看,还是当做1210看。前者返回true,后者false。 至于用不用reverse方法做,反正integer一共就那么几十个bits,线性复杂度,基本没 太大区别。
运。但最终也没 代码,发
【在 f*******t 的大作中提到】 : 这次申full-time两轮电面后被拒,干脆把面经发出来攒rp。因为没有on-site经验,题 : 目参考作用一般吧。 : 首先是申summer intern时的两次电面。记不清楚了,能想起多少coding题就写多少, : 杂七杂八的问题就忽略了。当时准备得不充足,答得不太好,居然能过电面,实在幸运。但最终也没 : 能去成…… : 第一面,三哥: : 1. A string consists of parentheses and brackets for example "(()([]))", : check if it is well formed. 经典题,我用stack做的。刚才顺手看了下当时写的代码,发 : 现还是有bug…… : 2.Given strings like "CB", "BD", "DE", find the sequence of alphabets.
K*g
54 楼
O(n)是肯定的,不过可以有个小的技巧,算到一半即可。 以下不考虑负数情况。 int isPalindrome(int n){ if(n<10) return 1; if(n%10==0) return 0; int rev = 0; while(revrev = rev*10+n%10; n /= 10; } if(rev == n || rev/10 == n) return 1; //former is for even number of digits, latter is for odd number of digits return 0; }
【在 n*******w 的大作中提到】 : 1. A string consists of parentheses and brackets for example "(()([]))", : check if it is well formed. : 用stack。遇到( 和 [ 入栈,遇到 ) 或者 ] 查栈顶是不是匹配。不匹配return false : 。否则pop栈顶继续。到string结束,return true。 : 2. Given strings like "CB", "BD", "DE", find the sequence of alphabets. : The result is "CBDE" for the example. : topsort。重点是考虑node的入度和出度。有环的话可以检测出来。 : 3. Verify whether a string contains all the characters of another : string. : 简单的数组,当做hashtable用。
you have two conditions in the while loop, actually I don't think this is more efficient :P
【在 l*****a 的大作中提到】 : bool IsPalindrome(int i) { : if(i < 0) : return false; : int num = i; : int reversed = 0; : while(num) { : reversed *= 10; : reversed += num % 10; : if (num==reversed) return true; : num /= 10;
s*n
59 楼
开放式设计题,怎么统计分布式系统的搜索次数呢? 哪位给指点一下基本思路?
false
【在 n*******w 的大作中提到】 : 1. A string consists of parentheses and brackets for example "(()([]))", : check if it is well formed. : 用stack。遇到( 和 [ 入栈,遇到 ) 或者 ] 查栈顶是不是匹配。不匹配return false : 。否则pop栈顶继续。到string结束,return true。 : 2. Given strings like "CB", "BD", "DE", find the sequence of alphabets. : The result is "CBDE" for the example. : topsort。重点是考虑node的入度和出度。有环的话可以检测出来。 : 3. Verify whether a string contains all the characters of another : string. : 简单的数组,当做hashtable用。