一亩三分地论坛

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

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

L家 NYC 电面

[复制链接] |试试Instant~ |关注本帖
genius1wjc 发表于 2016-8-13 09:00:46 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Linkedin - 网上海投 - 技术电面 |Other在职跳槽

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

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

x
楼主面的senior android engineer

一共就考了两道题,一个是binary tree (not BST),给两个节点,求lowest common ancestor。与原题区别在于每个node有parent pointer

第二题是2 sum的变种,要实现一个接口,包含两个函数,addNumber(int num)和hasSum(int target),check if there is a sum of two elements equals to the target。Follow-up是如果hasSum调用很多次,如何改进time complexity。hint是pre-compute results

评分

1

查看全部评分

wujingzhishui 发表于 2016-8-13 10:25:19 | 显示全部楼层
楼主我说下我的想法, 交流下想法哈。.鐣欏璁哄潧-涓浜-涓夊垎鍦
第一题是用一个Hashset存取 第一个node到root的path上所有node, 然后从第二个node往root走, 当parent在set里面,这个parent就是ancestor。 ?Correct me if you have better solution。
第二题。一个list存所有num, 一个HashSet存满足条件的target。
addNum时候,查找target有没有两个数在numList中,如果有, 把target加到hashset里面, 如果没有就算了。 然后再把target插入numList并排序。
hasNum直接在hashset查找就可以啦
多谢指教哈
回复 支持 1 反对 0

使用道具 举报

 楼主| genius1wjc 发表于 2016-8-13 09:01:24 | 显示全部楼层
第一题与原题还有一个区别在于没有给root node
回复 支持 反对

使用道具 举报

 楼主| genius1wjc 发表于 2016-8-13 10:59:49 | 显示全部楼层
wujingzhishui 发表于 2016-8-13 10:25
楼主我说下我的想法, 交流下想法哈。. 1point3acres.com/bbs
第一题是用一个Hashset存取 第一个node到root的path上所有node, 然 ...
. 1point3acres.com/bbs
嗯 第一题这个做法却时时面试官prefer的

第二题,楼主用的是一个arraylist存所有的nums,一个hashset存所有的sums。大概意思是每次调用addNumber(int num)的时候
  1. for (int i in nums) {
  2.   sums.add(i + num);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  3. }
  4. nums.add(num);
复制代码
这样的话貌似没有排序的必要
回复 支持 反对

使用道具 举报

hello2pig 发表于 2016-8-13 11:54:37 | 显示全部楼层
请问楼主几年的工作经验可以面L家的senior?
回复 支持 反对

使用道具 举报

 楼主| genius1wjc 发表于 2016-8-13 12:29:56 | 显示全部楼层
hello2pig 发表于 2016-8-13 11:54
请问楼主几年的工作经验可以面L家的senior?

感觉每个不同方向的职位要求不一样。Android职位貌似是2年还是3年Android经验就可以,因为一般人除这个以外还会有几年java经验
回复 支持 反对

使用道具 举报

hello2pig 发表于 2016-8-13 12:36:32 | 显示全部楼层
genius1wjc 发表于 2016-8-13 12:29.鏈枃鍘熷垱鑷1point3acres璁哄潧
感觉每个不同方向的职位要求不一样。Android职位貌似是2年还是3年Android经验就可以,因为一般人除这个以 ...

谢谢回复。 我投了iOS 也差不多2,3年经验,结果直接被拒了。。
回复 支持 反对

使用道具 举报

 楼主| genius1wjc 发表于 2016-8-13 12:53:30 | 显示全部楼层
hello2pig 发表于 2016-8-13 12:36. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
谢谢回复。 我投了iOS 也差不多2,3年经验,结果直接被拒了。。
. more info on 1point3acres.com
额 这个问题困惑我很久了 我很久以前就一直在做安卓了(比如2011年,不算本科的话) 但是不是全职做,不确定在公司眼里算几年经验...
回复 支持 反对

使用道具 举报

atlas1017 发表于 2016-8-13 15:13:05 | 显示全部楼层
genius1wjc 发表于 2016-8-13 10:59
嗯 第一题这个做法却时时面试官prefer的

第二题,楼主用的是一个arraylist存所有的nums,一个hashset ...

两个各自往root走一遍 算出来到root距离的offset 然后让离得远的先走offset步 然后一起走 直到相遇 O(N)的时间 O(1)的空间~
回复 支持 反对

使用道具 举报

 楼主| genius1wjc 发表于 2016-8-13 23:27:30 | 显示全部楼层
atlas1017 发表于 2016-8-13 15:13
两个各自往root走一遍 算出来到root距离的offset 然后让离得远的先走offset步 然后一起走 直到相遇 O(N) ...

也是一种解法 不过似乎没有面试官prefer的那种efficient
回复 支持 反对

使用道具 举报

laonawuli 发表于 2016-9-12 14:08:09 | 显示全部楼层
genius1wjc 发表于 2016-8-13 07:27
也是一种解法 不过似乎没有面试官prefer的那种efficient

这个方法要比面试官的好。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 03:18

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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