一亩三分地论坛

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

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

a家面经

[复制链接] |试试Instant~ |关注本帖
domofeng 发表于 2014-2-25 23:49:16 | 显示全部楼层 |阅读模式

2014(1-3月) 码农类 硕士 全职@Amazon - 网上海投 - Onsite |Fail

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

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

x
这个是我的a家面试,,,跪了,贴出来回馈大家,,,也请大家指出我答的错的地方

1, 这个题目有点搞不清楚意思,问了很久才知道,,,就是给网站访问的信息文件,,记录了用户id,session id, page id
然后那人给的例子是 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
customer   session  page
1222         101       A
1222         101       B
1221         102       B
1226         103       C
1222         101       D
1222         101       F
然后要你求出连续三个的同一个session的最频繁的,,,(中文都绕口), 他说用户不同session就不同,然后我就说那就不用考虑用户了id了,(应该没有理解错把),,, 上面的例子就是session 101中有ABD和BDF,都出现一次,大家凑合理解把,.鐣欏璁哄潧-涓浜-涓夊垎鍦

2,
给了方法,让我判断这个方法干什么的,
那个方法就是判断是不是power of 2的另一种方式

找出第一个不重复的character, 本来很简单,但说给我的只是个input.read()方法,这个东西返回Int,能挨个读出character,如果返回<0,就说明没有了,到头了,如果0~6500(具体多少忘了,是unit code), 就是可以的,
我当时错用了Character.valueOf(),应该用Charater.toChars();
然后第一次做我是先转换成char再来进行判断,是错的,如果是负数就iae了,后来改了. From 1point 3acres bbs
. more info on 1point3acres.com
3,
找出anagram出现最多的,比如god, dog,,,

follow up , 从O(nlogk)该进为o(nk)

4,
divide two integer
我绝笔写错了,真没想到会考这么难的,,,,.鏈枃鍘熷垱鑷1point3acres璁哄潧
(中间我有个while语句里面只有一行,我就没写括号,不过缩进了的,他后来还问我说你这个while到底是在哪儿结束的...)

给linked list 删除第一个,我就说那就相当于node了把,他说嗯,我就先判断node is null ? 再返回node.next. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

然后说去掉list钱n 个node, 我就循环node = node.next,中间也会判断null,,,,,最后返回node.next;

然后诡异的事情是,他问我如果用c来写方法名字应该怎么写,我就说我从来没用过c,真的不知道,,然后他还一再要求我想想,我tm想毛线啊,老子没用过,然后就没有然后了...

他又说给你n,,,返回个matrix,比如给3,,matrix 中心为1,外面包一层2, 再外面包一层3,的这样的matrix[5][5],
我先给了一层一层做的方法,然后给了类似于cc上面反转matrix的方法,就是把matrix分成4份来做,时间变为原来1/4了


补充内容 (2014-2-26 05:00):
希望版主把我加到300就够了,,,,please~~~~
. 1point 3acres 璁哄潧
补充内容 (2014-2-26 11:33):. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
第一题,,比如102的页面记录是A,B,C,A,B,C,
那么组合就是ABC,BCA,CAB,ABC,. Waral 鍗氬鏈夋洿澶氭枃绔,
出现次数最多的就是ABC,两次,,,所以答案就是ABC,. 鍥磋鎴戜滑@1point 3 acres
然后这个只是某个SESSION的,然后要统计所有session中最频繁的,,,


补充内容 (2014-2-26 11:35):
第一题我做完之后,悲催的告诉我page id可能是任何东西,,,也怪我没问..但他给的例子全是abcdef什么的单个字母啊魂淡. from: 1point3acres.com/bbs
他说page id 可以是aaaa, abc,ceg 什么都有可能

评分

4

查看全部评分

 楼主| domofeng 发表于 2014-2-25 23:50:48 | 显示全部楼层
写错了 从O(nklogk)该进为o(nk)
回复 支持 反对

使用道具 举报

 楼主| domofeng 发表于 2014-2-25 23:50:54 | 显示全部楼层
写错了 从O(nklogk)该进为o(nk)
回复 支持 反对

使用道具 举报

starcroce 发表于 2014-2-26 01:08:27 | 显示全部楼层
LZ你是上周五去面的么。。。什么时候收到的消息啊。。。我也去了现在还没消息。。。
. 1point3acres.com/bbs第一题我也碰到了几乎差不多的,目测应该是bar raiser了,不过我的log是custID, timestamp, pagetype。。。然后根据每个用户的timestamp会有一个page path,求top 10 popular page path。。。
回复 支持 反对

使用道具 举报

 楼主| domofeng 发表于 2014-2-26 03:44:46 | 显示全部楼层

你答得如何,碰没碰到奇怪的题,,,你看看我最后一轮是怎么回事....
回复 支持 反对

使用道具 举报

starcroce 发表于 2014-2-26 04:02:51 | 显示全部楼层
domofeng 发表于 2014-2-26 03:44
你答得如何,碰没碰到奇怪的题,,,你看看我最后一轮是怎么回事....
.1point3acres缃
log那轮挺蛋疼的,对面先假设memory足够用,我就用hash table,然后不够的话我想说用map reduce,也不知道解释清楚了没有,然后还要写pseudo code,反正挺伤的。。。
其他三轮题目都算正常,除了我自己犯二有些地方没弄好。。。也不知道会怎么样。。。
最后一轮你的题目没看懂,什么叫用c来写方法名字,函数名么?那我都是随手瞎写的。。。
现在处于坐等拒信的状态,每来一封新邮件都胆战心惊。。。
回复 支持 反对

使用道具 举报

 楼主| domofeng 发表于 2014-2-26 04:56:40 | 显示全部楼层
starcroce 发表于 2014-2-26 04:02
log那轮挺蛋疼的,对面先假设memory足够用,我就用hash table,然后不够的话我想说用map reduce,也不知道 ...

我是只会java,然后所有都是java写的,不过最后一轮的那个方法他叫我写出伪代码,然后让我写出c语言的代码,,我哪会,,,,
回复 支持 反对

使用道具 举报

starcroce 发表于 2014-2-26 05:42:55 | 显示全部楼层
domofeng 发表于 2014-2-26 04:56
我是只会java,然后所有都是java写的,不过最后一轮的那个方法他叫我写出伪代码,然后让我写出c语言的代码,, ...

好吧。。。你是什么时候知道结果的啊。。。
回复 支持 反对

使用道具 举报

cqx83 发表于 2014-2-26 09:25:28 | 显示全部楼层
lz能详细解释下什么叫连续三个的同一个session的最频繁的吗?
另外anagram那道题是返回相互为anagram一大组词么?
回复 支持 反对

使用道具 举报

 楼主| domofeng 发表于 2014-2-26 11:36:00 | 显示全部楼层
cqx83 发表于 2014-2-26 09:25
lz能详细解释下什么叫连续三个的同一个session的最频繁的吗?
另外anagram那道题是返回相互为anagram一大组 ...

见我的补充,我偷懒了,不好意思
回复 支持 反对

使用道具 举报

 楼主| domofeng 发表于 2014-2-26 11:36:13 | 显示全部楼层
cqx83 发表于 2014-2-26 09:25 . visit 1point3acres.com for more.
lz能详细解释下什么叫连续三个的同一个session的最频繁的吗?
另外anagram那道题是返回相互为anagram一大组 ...

见我的补充,我偷懒了,不好意思
回复 支持 反对

使用道具 举报

hellhe8888 发表于 2014-3-16 02:46:20 | 显示全部楼层
3题怎么变O(nk)啊?
回复 支持 反对

使用道具 举报

waikai 发表于 2014-3-19 07:26:09 | 显示全部楼层
hellhe8888 发表于 2014-3-16 02:46
3题怎么变O(nk)啊?
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
想了个很笨的法子。类似与BitSet。就是用一个Hashtable<BitSet<256>, count>。然后每个单词扫一遍,得出一个BitSet,更新value值。另用一个string记录和更新当前最优解。应该是O(nk)复杂度吧。
同学有没有想到好方法啊?
回复 支持 反对

使用道具 举报

waikai 发表于 2014-3-19 07:26:16 | 显示全部楼层
hellhe8888 发表于 2014-3-16 02:46
3题怎么变O(nk)啊?
. more info on 1point3acres.com
想了个很笨的法子。类似与BitSet。就是用一个Hashtable<BitSet<256>, count>。然后每个单词扫一遍,得出一个BitSet,更新value值。另用一个string记录和更新当前最优解。应该是O(nk)复杂度吧。
同学有没有想到好方法啊?
回复 支持 反对

使用道具 举报

吃栗子的猫 发表于 2014-10-17 13:22:14 | 显示全部楼层
第三题就是设置一个int[256], 把所有字符的count记录下,然后再输出来就是sortedString了。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-10 11:14

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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