一亩三分地论坛

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

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

Linkedin 电面面经

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

2015(10-12月) 码农类 硕士 全职@Linkedin - 内推 - 技术电面 |Pass在职跳槽

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

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

x
这周电面,面试官一个印度小哥,先聊聊他做什么我做什么,然后开始问答。什么是thread什么是process,有什么区别,做一个browser每个tab是用thread还是process。
什么是virtual memory,有什么好处和坏处。
知不知道semaphore,有没有用过。我说知道但是没用过,貌似小哥对我这个答案很满意就move on出coding题了...

Coding是Design a data structure that supports add(T val), remove(T val) and T removeRandomElement() all in O(1) time
很久没有刷机经了,所以忘记了挪array最后一个元素的方法。不过一开始大方向就走上了map 加array的方法,在小哥各种提示下想了10分钟终于想到了可以用最后一个填补remove 的hole。
然后开始coding。
写完自己找出一个bug,小哥找出两个bug,改正...
小哥问这个class thread safe吗我说不safe,怎么改成thread safe呢我说把三个method都synchronized。

就一道coding题,然后问了问题,愉快结束。.1point3acres缃

评分

4

查看全部评分

3Gdesigner 发表于 2015-11-1 02:06:43 | 显示全部楼层
第一个问题面yahoo也碰到过
回复 支持 反对

使用道具 举报

3Gdesigner 发表于 2015-11-1 02:08:10 | 显示全部楼层
“做一个browser每个tab是用thread还是process” -- chrome用process  firefox用thread
用process好处是独立memory space一个tab挂掉不影响其他
回复 支持 反对

使用道具 举报

tiantiana 发表于 2015-11-2 06:07:14 | 显示全部楼层
thank lz.

which track you are in? app?

补充内容 (2015-11-2 06:17):
Do you need to define T by yourself? Or, just assume T is char or int?
回复 支持 反对

使用道具 举报

LifeGoesOn 发表于 2015-11-2 07:27:43 | 显示全部楼层
coding 是hashmap + array 完成的吗
回复 支持 反对

使用道具 举报

LifeGoesOn 发表于 2015-11-2 07:53:27 | 显示全部楼层
如果add(1) 被call了多次 是不是第一次add被认为有效, 之后直接reject了?
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2015-11-2 08:01:37 | 显示全部楼层
tiantiana 发表于 2015-11-2 06:07
thank lz.
. From 1point 3acres bbs
which track you are in? app?

Systems and Infrastructure track.
面试官说T是generic,但是如果你不熟悉generic的话可以assume就是Integer。
我就把T当一个class做的,改成generic应该只需要在class signature里加一个<T>就可以了。
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2015-11-2 08:04:38 | 显示全部楼层
LifeGoesOn 发表于 2015-11-2 07:53
如果add(1) 被call了多次 是不是第一次add被认为有效, 之后直接reject了?

我是用hashmap + array做的。我跟面试官说我就assume不会重复add了,如果重复就只会存同一个,面试官不介意。
回复 支持 反对

使用道具 举报

tiantiana 发表于 2015-11-2 12:16:17 | 显示全部楼层
superspr 发表于 2015-11-2 08:04
我是用hashmap + array做的。我跟面试官说我就assume不会重复add了,如果重复就只会存同一个,面试官不介 ...

Array每次加还得resize吗?还是开始size就很大?

可以用ArrayList写吧,每次加在最后,删的时候把最后一个挪过去。
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2015-11-2 16:46:15 | 显示全部楼层
tiantiana 发表于 2015-11-2 12:16
Array每次加还得resize吗?还是开始size就很大?

可以用ArrayList写吧,每次加在最后,删的时候把最后 ...

嗯对,不好意思我说的不清楚,我是用的hashmap + ArrayList
回复 支持 反对

使用道具 举报

tiantiana 发表于 2015-11-3 02:19:02 | 显示全部楼层
superspr 发表于 2015-11-2 08:01
Systems and Infrastructure track. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
面试官说T是generic,但是如果你不熟悉generic的话可以assume就是In ...

do you know what is the relationship between data infrastructure track and your systems and infrastructure?
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
thanks,
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2015-11-3 04:06:32 | 显示全部楼层
tiantiana 发表于 2015-11-3 02:19
do you know what is the relationship between data infrastructure track and your systems and infras ...

这个我就不太清楚了,我毕竟不是linkedin的人:)
回复 支持 反对

使用道具 举报

tiantiana 发表于 2015-11-3 06:35:55 | 显示全部楼层
superspr 发表于 2015-11-3 04:06
这个我就不太清楚了,我毕竟不是linkedin的人:)

thank lz. Good luck to your onsite!!!:)
回复 支持 反对

使用道具 举报

soysenioritasue 发表于 2015-11-4 14:36:05 | 显示全部楼层
请问店面完后几天知道结果的呢?
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2015-11-5 12:42:26 | 显示全部楼层
soysenioritasue 发表于 2015-11-4 14:36
请问店面完后几天知道结果的呢?

第二天。我本来以为要挂了的。
回复 支持 反对

使用道具 举报

hercule24 发表于 2015-11-6 04:19:29 | 显示全部楼层
楼主 请问如何做到remove跟removeRandom用O(1)时间呢 难道不需要查找吗
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2015-11-6 14:17:21 | 显示全部楼层
hercule24 发表于 2015-11-6 04:19
楼主 请问如何做到remove跟removeRandom用O(1)时间呢 难道不需要查找吗

用一个Map<T, Integer>加一个ArrayList<T>.1point3acres缃
remove(T t)的时候用map找到t的index,去array里把最后一个T e挪到index的地方,map里删掉t,map里put(e, index)
removeRandom就在0到array.size()之间generate一个数,然后用刚才的办法删掉就可以了
回复 支持 反对

使用道具 举报

hercule24 发表于 2015-11-7 00:35:25 | 显示全部楼层
superspr 发表于 2015-11-6 14:17
用一个Map加一个ArrayList
remove(T t)的时候用map找到t的index,去array里把最后一个T e挪到index的地 ...

谢谢楼主提示啊!
回复 支持 反对

使用道具 举报

alvinca123 发表于 2015-11-7 00:57:44 | 显示全部楼层
只把开放访问权限的API加上synchronized就可以了。private的方法应该不需要的
回复 支持 反对

使用道具 举报

 楼主| superspr 发表于 2015-11-7 14:51:10 | 显示全部楼层
alvinca123 发表于 2015-11-7 00:57
只把开放访问权限的API加上synchronized就可以了。private的方法应该不需要的
. Waral 鍗氬鏈夋洿澶氭枃绔,
你说的对。不过private method加synchronized也不会有performance影响。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 18:46

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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