Redian新闻
>
老余上次那个amex staples返2000刀的收到了吗
avatar
老余上次那个amex staples返2000刀的收到了吗# Money - 海外理财
j*8
1
FB phone interview, one simple coding question to judge if a string is a
Palindrome.
Gave the Java code of recursive method, then being asked space complexity,
which is O(n). Then gave non-recursive method, which uses constant space. He
seemed satisfied and the interview was over.
But I was told the failure after 2 days. Can anyone suggest what happened on
the earth?
avatar
n*6
2
看到不少人也跟风买了,战况?
avatar
n*n
3
这题用递归没必要啊。

He
on

【在 j******8 的大作中提到】
: FB phone interview, one simple coding question to judge if a string is a
: Palindrome.
: Gave the Java code of recursive method, then being asked space complexity,
: which is O(n). Then gave non-recursive method, which uses constant space. He
: seemed satisfied and the interview was over.
: But I was told the failure after 2 days. Can anyone suggest what happened on
: the earth?

avatar
S*i
4
只有2000点,差评
avatar
b*5
5
我记得我去twitter interview的时候, 和我店面的人吃中饭。 然后那个店面的人告
诉我, 他如果觉得你的答案是从网上抄得, 有的时候一个字也不变, 他
automatically reject。。。
我snapchat也两个题, 都答了出来, 也被据。。。 我也没抄什么。。。

He
on

【在 j******8 的大作中提到】
: FB phone interview, one simple coding question to judge if a string is a
: Palindrome.
: Gave the Java code of recursive method, then being asked space complexity,
: which is O(n). Then gave non-recursive method, which uses constant space. He
: seemed satisfied and the interview was over.
: But I was told the failure after 2 days. Can anyone suggest what happened on
: the earth?

avatar
b*g
6
'We appreciate you using your Amex Offer at WWW.STAPLES.COM. Look out for a
$2000.00 statement credit, which will automatically be applied to your
statement if your purchase meets the offer terms. '
avatar
s*7
7
FB电面都是leetcode常见题
起码得做两道才能保证过关
一道加follow up多半死菜菜
没办法,大家都刷题刷得bar高了
avatar
y*i
8
haha, of course it is point
11/20/2017 Earned Staples MR Promo 2,000

【在 S*i 的大作中提到】
: 只有2000点,差评
avatar
d*5
9
recursive space 我觉得是O(n^2), 堆栈里是 n + (n - 2) + (n - 4)...
不一定对,大牛指点下。
再说用recursive感觉没必要。 String长了容易出问题。
avatar
c*s
10
买的啥?

【在 y****i 的大作中提到】
: haha, of course it is point
: 11/20/2017 Earned Staples MR Promo 2,000

avatar
b*5
11
其实, 我觉得这种面, 都看不出能不能够写code。 我最近一个面的一个小公司,
直接就叫我带上laptop, 然后在IDE上写spring MVC的 REST API。。。
当然给我边写能边google。。。 我一边写, 他一边看着我google什么。。。

【在 s******7 的大作中提到】
: FB电面都是leetcode常见题
: 起码得做两道才能保证过关
: 一道加follow up多半死菜菜
: 没办法,大家都刷题刷得bar高了

avatar
y*i
12
VGC
[在 ccqtjjtds (Ccqtjjtds) 的大作中提到:]
:买的啥?
:☆ 发自 iPhone 买买提 1.24.01
avatar
n*n
13
不是n^2。除非你每次都复制那个串。传两个数组下标就够了

【在 d*****5 的大作中提到】
: recursive space 我觉得是O(n^2), 堆栈里是 n + (n - 2) + (n - 4)...
: 不一定对,大牛指点下。
: 再说用recursive感觉没必要。 String长了容易出问题。

avatar
b*5
14
不过, 我觉得吧, 有的时候, 面试官不flexible些的, 一看你的面相, 或者声音
不爽, 就据了。 feedback 这个yes or no, 就一念之差。。。
avatar
d*5
15
你说的对,看LZ是怎么写的了。

【在 n******n 的大作中提到】
: 不是n^2。除非你每次都复制那个串。传两个数组下标就够了
avatar
n*n
16
如果那么写,挂了也不冤

【在 d*****5 的大作中提到】
: 你说的对,看LZ是怎么写的了。
avatar
j*l
17
这个题目的话,直接用iterative做呀,否则没时间搞第二道题。

He
on

【在 j******8 的大作中提到】
: FB phone interview, one simple coding question to judge if a string is a
: Palindrome.
: Gave the Java code of recursive method, then being asked space complexity,
: which is O(n). Then gave non-recursive method, which uses constant space. He
: seemed satisfied and the interview was over.
: But I was told the failure after 2 days. Can anyone suggest what happened on
: the earth?

avatar
f*d
18
This question is well known for FB interview.
The interviewers are looking for the most simple and effective code.
Search online for the most simple and effective solution.
avatar
b*5
19
boolean isPalinRecursiveHelper(String s, int[] left, int right) {
if (right >= s.length()) return true;
if (left[0] > right) return true;
boolean isPalin = isPalinRecursiveHelper(s, left, right+1);
if (isPalin==false) return false;
isPalin = (s.charAt(left) == s.charAt(right));
left[0] = left[0]+1;
return isPalin;
}
boolean isPalindrome(String s) {
String sTrimmed = s.trim();
int[] left = new int[1]; left[0] = 0;
return isPalinRecursiveHelper(s, left, 0);
}
avatar
b*5
20
是不是这个?
public boolean isPalindrome(String s) {
int n = s.length();
int i=0; int j = n-1;
while (i <= j) {
while (i < j && !Character.isLetterOrDigit(s.charAt(i)))
i++;
while (i < j && !Character.isLetterOrDigit(s.charAt(j)))
j--;
if (i <= j && Character.toLowerCase(s.charAt(i)) == Character.
toLowerCase(s.charAt(j)))
i++; j--;
else
return false;
}
return true;
}

【在 f*****d 的大作中提到】
: This question is well known for FB interview.
: The interviewers are looking for the most simple and effective code.
: Search online for the most simple and effective solution.

avatar
l*n
21
面你的是白人吧, 他们也看面相,如果你没有跟他们深度交流,就可能被挂
avatar
P*2
22
这题一看就是5分钟热身的。。
avatar
l*8
23
这题真是热身题,两头往中间夹逼做判断就好了,一个循环而已

He
on

【在 j******8 的大作中提到】
: FB phone interview, one simple coding question to judge if a string is a
: Palindrome.
: Gave the Java code of recursive method, then being asked space complexity,
: which is O(n). Then gave non-recursive method, which uses constant space. He
: seemed satisfied and the interview was over.
: But I was told the failure after 2 days. Can anyone suggest what happened on
: the earth?

avatar
n*n
24
太罗嗦。三五行足矣
你这是升级版,忽略标点、大小写。

【在 b**********5 的大作中提到】
: 是不是这个?
: public boolean isPalindrome(String s) {
: int n = s.length();
: int i=0; int j = n-1;
: while (i <= j) {
: while (i < j && !Character.isLetterOrDigit(s.charAt(i)))
: i++;
: while (i < j && !Character.isLetterOrDigit(s.charAt(j)))
: j--;
: if (i <= j && Character.toLowerCase(s.charAt(i)) == Character.

avatar
e*u
25
我觉得应该是那种smoke test让楼主你热身的, 让你不要太紧张, suppose 10分钟甚至
5分钟搞定的, 结果你一热身题做到结束,而且还用他没期待到的不太好的recursive
way, 被挂也正常.
最近准备FB, 也看的比较多的面经,FB这种LC原题,要上来就是bugfree的最优解,才保险
.
avatar
b*5
26
靠, 那你写个不罗嗦的。。。

【在 n******n 的大作中提到】
: 太罗嗦。三五行足矣
: 你这是升级版,忽略标点、大小写。

avatar
S*C
27
这题用递归即使只传下标也不能通过长String的oj
有没有什么改进方法
我这种写法应该是O(N) time, O(N) space的吧
Runtime Error Message: Line 12: java.lang.StackOverflowError
public boolean isPalindrome(String s) {
if (s == null || s.length() < 2)
return true;
if(!rec(s, 0, s.length() - 1))
return false;
return true;
}
private boolean rec(String s, int start, int end){
if(start >= end)
return true;
if (!Character.isLetterOrDigit(s.charAt(start)))
return rec(s, start+1, end);
if(!Character.isLetterOrDigit(s.charAt(end)))
return rec(s, start, end-1);
if (Character.toLowerCase(s.charAt(start)) != Character.toLowerCase(
s.charAt(end)))
return false;
return rec(s, start+1, end-1);
}

【在 n******n 的大作中提到】
: 不是n^2。除非你每次都复制那个串。传两个数组下标就够了
avatar
S*C
28
你的答案质量稍稍有待提高,FB对答案质量要求很高的。
我给你看个最优解
public boolean isPalindrome2(String s) {
if (s == null || s.length() < 2)
return true;
int start = 0, end = s.length() - 1;
while (start < end) {
while (start < end && !Character.isLetterOrDigit(s.charAt(start)
))
start++;
while (start < end && !Character.isLetterOrDigit(s.charAt(end)))
end--;
if (Character.toLowerCase(s.charAt(start++)) != Character.
toLowerCase(s.charAt(end--)))
return false;
}
return true;
}

【在 b**********5 的大作中提到】
: 靠, 那你写个不罗嗦的。。。
avatar
y*e
29
天你用不用把大数据case也贴上来。。。。。太吓人了

Prowel,

【在 S*******C 的大作中提到】
: 这题用递归即使只传下标也不能通过长String的oj
: 有没有什么改进方法
: 我这种写法应该是O(N) time, O(N) space的吧
: Runtime Error Message: Line 12: java.lang.StackOverflowError
: public boolean isPalindrome(String s) {
: if (s == null || s.length() < 2)
: return true;
: if(!rec(s, 0, s.length() - 1))
: return false;
: return true;

avatar
b*5
30
你这code, 和我这code, 有他妈的区别么?!

start)

【在 S*******C 的大作中提到】
: 你的答案质量稍稍有待提高,FB对答案质量要求很高的。
: 我给你看个最优解
: public boolean isPalindrome2(String s) {
: if (s == null || s.length() < 2)
: return true;
: int start = 0, end = s.length() - 1;
: while (start < end) {
: while (start < end && !Character.isLetterOrDigit(s.charAt(start)
: ))
: start++;

avatar
s*r
31
你咋这么喜欢pass in int[],别人看着会很费劲,尽量使用final

【在 b**********5 的大作中提到】
: boolean isPalinRecursiveHelper(String s, int[] left, int right) {
: if (right >= s.length()) return true;
: if (left[0] > right) return true;
: boolean isPalin = isPalinRecursiveHelper(s, left, right+1);
: if (isPalin==false) return false;
: isPalin = (s.charAt(left) == s.charAt(right));
: left[0] = left[0]+1;
: return isPalin;
: }
: boolean isPalindrome(String s) {

avatar
S*C
32
虽然有很小的区别,但面试官不满意你也没办法
if (i <= j && Character.toLowerCase(s.charAt(i)) == Character.
toLowerCase(s.charAt(j)))
i++; j--;
else
return false;
这里可以2句并一句的

【在 b**********5 的大作中提到】
: 你这code, 和我这code, 有他妈的区别么?!
:
: start)

avatar
b*5
33
你他妈的是在Google干么? 这里用final有用么? 你是要modify那个left的。。。
滚回去学了Java在说!

【在 s*****r 的大作中提到】
: 你咋这么喜欢pass in int[],别人看着会很费劲,尽量使用final
avatar
b*5
34
这种都是借口了。 如果面试官要在这里fail你, 他本来就是要fail你。。。

【在 S*******C 的大作中提到】
: 虽然有很小的区别,但面试官不满意你也没办法
: if (i <= j && Character.toLowerCase(s.charAt(i)) == Character.
: toLowerCase(s.charAt(j)))
: i++; j--;
: else
: return false;
: 这里可以2句并一句的

avatar
c*a
35
尼玛报错信息也打出来
刷屏啊
avatar
c*h
36
你这是FB,所以觉得很不爽。
我之前有个面试,约了,改时间,来来回回好几次,然后最后终于面了,不到10分钟。
大概是那句话说错了,或者人根本一开始就不打算招。
avatar
s*r
37
你的left和right是两端的position吗,为毛开始都是0,为毛在循环里面都是增量,为
毛不在recursive之前检测,还少一个结束的case,left==right
你是故意写成这样还是本来就如此啊

【在 b**********5 的大作中提到】
: 你他妈的是在Google干么? 这里用final有用么? 你是要modify那个left的。。。
: 滚回去学了Java在说!

avatar
I*m
38
这个是前几天有人问我,我的答案:
public boolean isPalandrome(String s)
{
if (s != null)
{
for (int i= 0; i < s.length()/2; i++)
{
if (s.charAt(i) != s.charAt(s.length() - i -1))
{
return false
}
}
}
return true;
}
avatar
a*n
39
bool isPalindrome(string s){
return help(s,0,s.size()-1);
}
bool help(string &s, int left, int right){
if (left>=right)
return true;
return s[left]==s[right] && help(s,left+1,right-1);
}
avatar
s*r
40
女学霸你好

【在 a******n 的大作中提到】
: bool isPalindrome(string s){
: return help(s,0,s.size()-1);
: }
: bool help(string &s, int left, int right){
: if (left>=right)
: return true;
: return s[left]==s[right] && help(s,left+1,right-1);
: }

avatar
l*k
41
我interview别人很久了。如果interview提前结束,那么肯定是
interviewer觉得不需要继续了。也就是说,要么特别好,要么
特别烂。这个很容易分辨。
有人说我都做出来了为什么还被拘,这个原因多了。最常见的一点,
你的code太烂或者有bug自己没看出来。 还可能是他觉得你的反应
太快太假。或者英语太烂他听不明白等等。
没啥办法,move on吧。Good luck next time.
avatar
S*C
42
这个没有考虑大小写字母和去除非字母
leetcode oj上面的题需要考虑这2个
你改一下看看能不能过oj

【在 a******n 的大作中提到】
: bool isPalindrome(string s){
: return help(s,0,s.size()-1);
: }
: bool help(string &s, int left, int right){
: if (left>=right)
: return true;
: return s[left]==s[right] && help(s,left+1,right-1);
: }

avatar
a*n
43
bool isPalindrome(string s) {
return help(s,0,s.size()-1);
}
bool help(string &s, int left, int right){
if (left>=right)
return true;
while (leftleft++;
}
while (right>=0 && !isValid(s,right))
right--;
return (s[left]==s[right] || abs(s[left]-s[right])=='a'-'A') && help
(s, left+1,right-1);
}
bool isValid(string & s, int i)
{
if ((s[i]>='0' && s[i]<='9') || (s[i]>='a' && s[i]<='z') || (s[i]>='
A' && s[i]<='Z'))
return true;
return false;
}

【在 S*******C 的大作中提到】
: 这个没有考虑大小写字母和去除非字母
: leetcode oj上面的题需要考虑这2个
: 你改一下看看能不能过oj

avatar
a*n
44
其实我是无业女学渣,求工作求refer

【在 s*****r 的大作中提到】
: 女学霸你好
avatar
S*C
45
这个答案是对的,也能通过OJ
但改成JAVA版就是不能过大的test case
public boolean isPalindrome(String s) {
if (s == null || s.length() < 2)
return true;
return rec(s, 0, s.length() - 1);
}
private boolean rec(String s, int start, int end){
if(start >= end)
return true;
while (start < end && !Character.isLetterOrDigit(s.charAt(start)))
start++;
while (start < end && !Character.isLetterOrDigit(s.charAt(end)))
end--;
return Character.toLowerCase(s.charAt(start)) == Character.
toLowerCase(s.charAt(end))
&& rec(s, start+1, end-1);
}

【在 a******n 的大作中提到】
: bool isPalindrome(string s) {
: return help(s,0,s.size()-1);
: }
: bool help(string &s, int left, int right){
: if (left>=right)
: return true;
: while (left: left++;
: }
: while (right>=0 && !isValid(s,right))

avatar
a*n
46
大的test case,stack就爆掉了。
这道题还是不要recursive的好。

【在 S*******C 的大作中提到】
: 这个答案是对的,也能通过OJ
: 但改成JAVA版就是不能过大的test case
: public boolean isPalindrome(String s) {
: if (s == null || s.length() < 2)
: return true;
: return rec(s, 0, s.length() - 1);
: }
: private boolean rec(String s, int start, int end){
: if(start >= end)
: return true;

avatar
b*5
47
你自己去看吧。 后面那个recursive, 不是真的recursive solution。 我如果给你
个限制, 就是你一开始不知道string 的length怎么办?

【在 s*****r 的大作中提到】
: 你的left和right是两端的position吗,为毛开始都是0,为毛在循环里面都是增量,为
: 毛不在recursive之前检测,还少一个结束的case,left==right
: 你是故意写成这样还是本来就如此啊

avatar
b*5
48
这么说吧, 如果给你个char* in C, 然后还不告诉你这个char*有多长, 只告诉你
end是 \0, 要recursive, 你怎么做?
avatar
e*l
49
isLetterOrDigit算常用的方法嗎?
avatar
b*5
50
算啊
我以前的team, 还特别爱用google guava的library, String。isNullOrEmpty!

【在 e*l 的大作中提到】
: isLetterOrDigit算常用的方法嗎?
avatar
Y*2
51
You are all too smart

【在 b**********5 的大作中提到】
: 你自己去看吧。 后面那个recursive, 不是真的recursive solution。 我如果给你
: 个限制, 就是你一开始不知道string 的length怎么办?

avatar
h*3
52
感觉是不是楼主忘了考虑特殊情况?
比如说问清楚特殊字符要不要考虑 ? 比如 #xx# 算不算数
数字要不要考虑, 飞数字字母的情况能不能算做palindrome ?
有可能你写的code是对的,但面试官期待你会考虑到一些特殊情况,至少写code前先把
特殊情况怎么处理交代清楚
avatar
j*8
53
主要是没有及时赶到家,路上交通堵塞。所以时间很紧,问了一个问题就没时间了。

【在 h****3 的大作中提到】
: 感觉是不是楼主忘了考虑特殊情况?
: 比如说问清楚特殊字符要不要考虑 ? 比如 #xx# 算不算数
: 数字要不要考虑, 飞数字字母的情况能不能算做palindrome ?
: 有可能你写的code是对的,但面试官期待你会考虑到一些特殊情况,至少写code前先把
: 特殊情况怎么处理交代清楚

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。