一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2192|回复: 28
收起左侧

facebook实习电面

[复制链接] |试试Instant~ |关注本帖
mtq 发表于 2015-3-2 16:26:33 | 显示全部楼层 |阅读模式

2015(1-3月) 码农类 本科 实习@Facebook - 内推 - 技术电面 |Fail

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
2/19面的,一周以后收到据信。
一上来就是聊聊简历,为什么要申请facebook,项目中碰到什么困难之类的问题。

问了一道题。给一个getline()函数每次调用可以用来获取一行输入,把注释去掉以后把剩下的内容打印。注释的格式是/* */这种。

一开始的想法的是正则表达式,问了面试官的意见说正则表达式不是一个好的办法,所以放弃。自己用一个flag来记录注释是不是开始了。
写的比较急也没来得及验证代码正确性,只考虑了一行多个注释和一个注释跨好几行的情况,有没有其他case也没来得及考虑。
面完就觉得挂了,果然第二周收到据信。. Waral 鍗氬鏈夋洿澶氭枃绔,


新人求点米,祝下面面试的同学好运~. 鍥磋鎴戜滑@1point 3 acres

评分

4

查看全部评分

xinyun91 发表于 2015-3-3 07:39:13 | 显示全部楼层
Dear friend,
. from: 1point3acres.com/bbs
我研究了下,觉得这道题貌似没有你说的这么难,你考虑复杂了不是,弄清楚考什么,这个点重点考I/O(read/write)中的input(read),input那块重点之一就是scanner,那就利用scanner class, 接下来就简单了,call scanner里面的各种现成的method就可以依次每行读了。读进来之后,是另外一个点,String, 这里用String里面的replace这个method,把"/*","*/"都替代成"", 接下来.println()结束。我的代码如下:
public class fbNode {. From 1point 3acres bbs
        public fbNode(){
                Scanner sc=new Scanner(System.in);.鐣欏璁哄潧-涓浜-涓夊垎鍦
//Scanner sc=new Scanner(x.txt);这里parameter可以是System.in,也可以是某个文档
//注意eclipse的console感觉只能单行输入(single line Console),如果有multi line Console,应该就是依次每行读入让后去掉note再写出啦
                removeNote(sc);
        }
        private String removeNote(Scanner sc){
                while(sc.hasNextLine()){. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                        String s=sc.nextLine();. 1point 3acres 璁哄潧
                        s=s.replace("/*","");. Waral 鍗氬鏈夋洿澶氭枃绔,
                        s=s.replace("*/",""); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
                        System.out.println(s);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                        //return s;
                }
                return null;
        }
}

评分

2

查看全部评分

回复 支持 1 反对 0

使用道具 举报

houqingniao 发表于 2015-3-4 01:50:27 | 显示全部楼层
需要stack, 记录配对的/* */, 并且记录是哪行哪列, 然后再打印
回复 支持 1 反对 0

使用道具 举报

houqingniao 发表于 2015-3-3 01:43:00 | 显示全部楼层
这个题太恶心了。。。
店面肯定是要黑你的节奏啊。。。
感觉店面能写好这个很难
回复 支持 反对

使用道具 举报

 楼主| mtq 发表于 2015-3-3 03:20:37 | 显示全部楼层
houqingniao 发表于 2015-3-3 01:43. Waral 鍗氬鏈夋洿澶氭枃绔,
这个题太恶心了。。。
店面肯定是要黑你的节奏啊。。。. From 1point 3acres bbs
感觉店面能写好这个很难

囧,我以为是我太弱了做的慢呢。。facebook是第一个电面,不清楚情况
回复 支持 反对

使用道具 举报

sqrt222 发表于 2015-3-3 04:45:01 | 显示全部楼层
 请问有没有哪个OJ上有这道题啊,想自己练练~谢谢!
回复 支持 反对

使用道具 举报

 楼主| mtq 发表于 2015-3-3 04:50:29 | 显示全部楼层
sqrt222 发表于 2015-3-3 04:45
 请问有没有哪个OJ上有这道题啊,想自己练练~谢谢!
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
我没有找到。。甚至连这道题的讨论都没有找到。
回复 支持 反对

使用道具 举报

碇真嗣 发表于 2015-3-3 05:11:41 | 显示全部楼层
给跪了 不是说facebook一面一般都是oj上的吗。。。
回复 支持 反对

使用道具 举报

 楼主| mtq 发表于 2015-3-3 05:13:05 | 显示全部楼层
碇真嗣 发表于 2015-3-3 05:11
给跪了 不是说facebook一面一般都是oj上的吗。。。

所以还是看运气。。
回复 支持 反对

使用道具 举报

Deckardmzr 发表于 2015-3-3 05:36:21 | 显示全部楼层
感觉这类题可能都是面试官自己想的吧……
我amz也碰到了这类很棘手的问题,但同学就面的挺简单,所以可能真的看面试官,看运气……lz加油
回复 支持 反对

使用道具 举报

 楼主| mtq 发表于 2015-3-3 05:43:29 | 显示全部楼层
Deckardmzr 发表于 2015-3-3 05:36
感觉这类题可能都是面试官自己想的吧……
我amz也碰到了这类很棘手的问题,但同学就面的挺简单,所以可能 ...
-google 1point3acres
我也觉得是他一拍脑袋自己想出来的题,囧死,运气坏的时候也真是挡不住,祝你后面的好运
回复 支持 反对

使用道具 举报

hana4205 发表于 2015-3-3 14:46:51 | 显示全部楼层
xinyun91 发表于 2015-3-3 07:39
Dear friend,

我研究了下,觉得这道题貌似没有你说的这么难,你考虑复杂了不是,弄清楚考什么,这个点 ...

同学,问一下
这里只替换了/*和*/,而没有把注释部分取消了,是不是把所有注释内容也打印了?
比如说/*comment here*/的话,是不是打印了comment here?
回复 支持 反对

使用道具 举报

hana4205 发表于 2015-3-3 14:52:18 | 显示全部楼层
我觉得,是不是可以用stack实现?
遇到一个/*,且栈为空的时候,从当前的index开始不打印,直到遇到一个*/。且遇到了*/要出栈,即把栈清空。
用栈实现的话,注释里再嵌套一个注释的情况可以解决。
一个注释为多行的情况,也可以解决。

如果觉得这个方法不行,请多多指教。
这个方法没写过,只是想法而已,所以不知道对不对。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

xinyun91 发表于 2015-3-3 15:02:29 | 显示全部楼层
hana4205 发表于 2015-3-3 14:46. Waral 鍗氬鏈夋洿澶氭枃绔,
同学,问一下
这里只替换了/*和*/,而没有把注释部分取消了,是不是把所有注释内容也打印了?
比如说/* ...
. from: 1point3acres.com/bbs
没吧,因为都替换成空了,想当于remove掉了,结果跟你预期的一样,只output :comment here
回复 支持 反对

使用道具 举报

 楼主| mtq 发表于 2015-3-3 15:27:37 | 显示全部楼层
xinyun91 发表于 2015-3-3 15:02. Waral 鍗氬鏈夋洿澶氭枃绔,
没吧,因为都替换成空了,想当于remove掉了,结果跟你预期的一样,只output :comment here
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
面试官的意思是要把/* */里面的内容去掉不打印出来的
回复 支持 反对

使用道具 举报

pyemma 发表于 2015-3-3 16:06:02 | 显示全部楼层
首先这道题CareerCup上有,而且那个版本里面需要考虑//这种的形式,其次,这道题是不是类似括号匹配,前提是,输入中没有/* xxxxx /* xxxxx */这种的
回复 支持 反对

使用道具 举报

北航小涵 发表于 2015-3-4 00:39:47 | 显示全部楼层
xinyun91 发表于 2015-3-2 18:39. more info on 1point3acres.com
Dear friend,

我研究了下,觉得这道题貌似没有你说的这么难,你考虑复杂了不是,弄清楚考什么,这个点 ...

妹子你弄错了。首先scanner是提供给你的。另外你要把/*之前的去掉。

补充内容 (2015-3-3 11:43):
/* */之间的去掉。
回复 支持 反对

使用道具 举报

xinyun91 发表于 2015-3-4 01:27:00 | 显示全部楼层
mtq 发表于 2015-3-3 15:27
面试官的意思是要把/* */里面的内容去掉不打印出来的

哦哦,谢谢提醒,那就是stack了
回复 支持 反对

使用道具 举报

zengm321 发表于 2015-3-5 03:36:28 | 显示全部楼层
这题不能用stack吧,在c++里面 如果一行出现 */*/是错误的,根本没法注释
就是说,出现/*后,就去找第一个*/, 中间的内容不要。
然后必须有新的/*,才能有*/
example
/* /*  ......  */ */ 是不合法的
/* /*       */没问题
回复 支持 反对

使用道具 举报

windream1991 发表于 2015-3-5 08:59:11 | 显示全部楼层
pyemma 发表于 2015-3-3 16:06.鐣欏璁哄潧-涓浜-涓夊垎鍦
首先这道题CareerCup上有,而且那个版本里面需要考虑//这种的形式,其次,这道题是不是类似括号匹配,前提 ...

可以给个链接吗
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 04:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表