一亩三分地论坛

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

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

TripAdvisor OnCampus 面试

[复制链接] |试试Instant~ |关注本帖
nathanlrf 发表于 2015-10-14 01:25:17 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类 硕士 全职@TripAdvisor - 校园招聘会 - 校园招聘会 |Passfresh grad应届毕业生

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

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

x
周五要去onsite了,攒人品。
是在career fair投的,on campus面试全部都是技术面试,一共三个问题。
第一个是给一个fibonacci数列产生的函数,就是他写了一个递归的实现方法,问我这个方法那里不好,时间复杂度多少,如果让你给一个不太懂时间复杂度公式的人解释这个代码哪里不好要怎么解释。我就说有些值被重复计算,既然已经算出来了没有必要再算一遍,花了一下递归树,说时间复杂度就是树节点个数O(n^2)。然后让我写一个好的实现,就用的bottom up,加上三个变量,O(1)的空间和O(n)时间。
然后问了OOP,问了什么是polymorphism,一开始和overloading混了,让面试官提醒了一下,说出来了,让我举了个例子。就说的Animal和Dog和Cat的例子。
最后问了一下bit manipulation,计算一个数字的bit representation里有多少个1,用的是移位然后最后一位和1相与,终止条件是直到数字为0。问了一下时间复杂度说是O(logn),当时又想了想说对于负数来说有可能不一定,比如java是32位int,补码-1就是32个1减去+1的表示,所以可能是O(bit size - log(abs(n)))。面试官说logn其实就可以了,不过你是第一个说负数有可能不同的,有意思。
zyxyz09213112 发表于 2015-10-22 05:42:03 | 显示全部楼层
楼主 请问一下:计算多少个1的话如果是integer不是32位吗,为啥不是O(1)呢?
回复 支持 反对

使用道具 举报

 楼主| nathanlrf 发表于 2015-10-22 08:34:14 | 显示全部楼层
zyxyz09213112 发表于 2015-10-22 05:42
楼主 请问一下:计算多少个1的话如果是integer不是32位吗,为啥不是O(1)呢?

哦哦面试官就说了句数字的bit位数无限,就是说位数很多不是O(1)了
回复 支持 反对

使用道具 举报

zyxyz09213112 发表于 2015-10-23 01:25:02 | 显示全部楼层
nathanlrf 发表于 2015-10-22 08:34
哦哦面试官就说了句数字的bit位数无限,就是说位数很多不是O(1)了

这样哇。。。还是想请问下O(logn)是怎么算呢,我只能想到O(n)
回复 支持 反对

使用道具 举报

 楼主| nathanlrf 发表于 2015-10-23 02:18:31 | 显示全部楼层
zyxyz09213112 发表于 2015-10-23 01:25
这样哇。。。还是想请问下O(logn)是怎么算呢,我只能想到O(n)

怪我没说清楚。。。。这个n就是数字大小嘛,然后如果是32bit的话n最大可能就是2^32-1,然后这里他认为n可以很大很大,所以就是遍历一下这个n对应的二进制表示的bit,所以就是log(n)了
回复 支持 反对

使用道具 举报

zyxyz09213112 发表于 2015-10-23 05:49:48 | 显示全部楼层
nathanlrf 发表于 2015-10-23 02:18
怪我没说清楚。。。。这个n就是数字大小嘛,然后如果是32bit的话n最大可能就是2^32-1,然后这里他认为n可 ...

明白了,谢谢哈!
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-5 17:21

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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