一亩三分地论坛

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

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

Twitter TellApart电面面经

[复制链接] |试试Instant~ |关注本帖
superspr 发表于 2015-11-7 18:03:22 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Twitter - 网上海投 - 技术电面 |Pass在职跳槽

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

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

x
先聊聊他干什么我干什么,开始coding。
Letter combinations of phone number
. 1point 3acres 璁哄潧
做完说出一道设计题吧不用coding。
设计一个电话号码dispatch system,三个api
void takeNumber(Number) //从pool 里take一个number
boolean isTaken(Number) //check 这个number有没有被用
Number getANumber() //从pool里随便取一个number
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
我说用一个set应该就可以了。
问multi thread怎么办。我说把三个method 都synchronized。我发现这个multi thread的问题经常被问起。
问memory consumption如何,我说O(n)
问想想能不能improve一下memory。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
我想了想说可以试试用个trie,把三个api怎么实现都解释了一下。. 鍥磋鎴戜滑@1point 3 acres
问这样memory怎么样呢,我说worst case应该是9^9吧。感觉不是很好比,取决于number的distribution。现在想想如果每个数字存一个char的话用trie worst case是9^9, 用set的话应该是9^10,因为每个电话号码是9个char。但实际上应该也差不了多少。
面试官说确实不太好比,不过你这样implement应该可以,貌似挺满意的样子。.鏈枃鍘熷垱鑷1point3acres璁哄潧

问了问题,愉快结束。

评分

2

查看全部评分

xiaojunji 发表于 2016-3-22 15:30:16 | 显示全部楼层
谢谢分享,不过
1. 电话号码应该是10位数
2. 用set的话空间应该是O(10N), 用Trie的应该是 10 ^10
楼主怎么take一个number?随机吗
. Waral 鍗氬鏈夋洿澶氭枃绔,
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2016-3-27 14:11:35 | 显示全部楼层
xiaojunji 发表于 2016-3-22 15:30.鏈枃鍘熷垱鑷1point3acres璁哄潧
谢谢分享,不过
1. 电话号码应该是10位数
2. 用set的话空间应该是O(10N), 用Trie的应该是 10 ^10

哦对是10位,不过意思一样。. 1point3acres.com/bbs

O(10N) == O(N). 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

随机取号码就可以。
回复 支持 反对

使用道具 举报

u-r-the-one 发表于 2016-4-8 07:45:02 | 显示全部楼层
请问lz getANumber()是从已经被分配的号码里选一个 还是从没有被分配的里面选一个?
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2016-4-8 14:22:59 | 显示全部楼层
u-r-the-one 发表于 2016-4-8 07:45
请问lz getANumber()是从已经被分配的号码里选一个 还是从没有被分配的里面选一个?

没分配的里选
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-3 14:57

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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