一亩三分地论坛

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

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

一个小时前刚结束的BB电面

[复制链接] |试试Instant~ |关注本帖
Littles 发表于 2016-5-13 23:13:11 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 博士 全职@Bloomberg - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
呜呜呜,一个小时前刚结束的BB电面,不堪回首.鐣欏璁哄潧-涓浜-涓夊垎鍦

上来印度小哥介绍了下自己哪个部门干啥的,然后问了我的project, why BB等。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
直接HackRanker码题。上来就让design class Family Tree,说一个家庭有1-2个人,每个人都有0-2个children,让开始设计class. 一脸懵逼,说好的Two sum呢
这个题目就表述的不太清楚,到底是设计啥玩意,问他他也讲不清楚。一开始我还想搞个Binary tree那样,但因为搞不清楚他到底想要什么,就瞎设计了一个Family class,
里面是数组People[] parents, People[] children,因为我以为他说的是一个family只有一层!各种乱改。。估计小哥看的崩溃了。
后来通过他让设计的问题了解到是要搞整个family有哪些人,其实就是拿个hashMap存这个family所有成员,每个成员是个单独的People class,里面有name和children...哥哥你是坑我嘛
然后就让设计一个method判断一个人是不是这个family的成员,然后一个method判断两个人是不是cousin....
第一次电面,加上一上来就懵逼,估计挂了。Move on了。。太挫了。准备的算法题全没用到。。


补充内容 (2016-5-17 23:53):. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
过了,在安排onsite......

评分

3

查看全部评分

blackrose 发表于 2016-5-13 23:17:40 | 显示全部楼层
不同公司,相似经历,继续加油!希望好运来!
回复 支持 反对

使用道具 举报

 楼主| Littles 发表于 2016-5-13 23:20:47 | 显示全部楼层
blackrose 发表于 2016-5-13 23:17
不同公司,相似经历,继续加油!希望好运来!

心好累啊。小哥估计觉得我是智障。我一停顿他就开始巴拉巴拉地提醒,根本不给我时间考虑。
加油加油!
回复 支持 反对

使用道具 举报

llatjob 发表于 2016-5-14 02:36:09 | 显示全部楼层
这个算是二叉树变种吧,只是每个node可以有n 个children node,有两个parent node,然后就行了。一个family就是一个root node。查在不在family就是查在不在tree里面。查cousion就是查到common ancestor的距离是一样的
回复 支持 反对

使用道具 举报

llatjob 发表于 2016-5-14 02:36:59 | 显示全部楼层
llatjob 发表于 2016-5-14 02:36-google 1point3acres
这个算是二叉树变种吧,只是每个node可以有n 个children node,有两个parent node,然后就行了。一个family ...

或者再引入spouse
回复 支持 反对

使用道具 举报

 楼主| Littles 发表于 2016-5-14 06:47:02 | 显示全部楼层
llatjob 发表于 2016-5-14 02:36.1point3acres缃
这个算是二叉树变种吧,只是每个node可以有n 个children node,有两个parent node,然后就行了。一个family ...
. visit 1point3acres.com for more.
一开始写的时候根本没有提到后面的一些用法,所以不知道他想干嘛。
查cousin还要查是不是本人,是不是兄弟姐妹。
回复 支持 反对

使用道具 举报

tianf 发表于 2016-5-22 07:19:28 | 显示全部楼层
这题有没有比较简单的方法?要用到inheritance吗?
回复 支持 反对

使用道具 举报

飞飞 发表于 2016-6-5 14:07:38 | 显示全部楼层
我觉的这题要用Unionfind吗?找cousin。。。 一听到题,首先问,你要实现什么function。。。。
回复 支持 反对

使用道具 举报

Jailf 发表于 2016-6-29 08:06:28 | 显示全部楼层
大概写了一个,因为Person和Family没有什么关系,就用了两个独立的类,Family的constructor暂时空着了。
通过查哈希表来判断 一个人是否是family的成员,但是有可能有重名的情况,所以就是用了一个名字对应一个set的结构。
cousion的话就是判断两个人的爸妈是不是sibiling

class Person
{
public:
        Person* father;.鐣欏璁哄潧-涓浜-涓夊垎鍦
        Person* mother;
        vector<Person*> children;
        string name;-google 1point3acres

        Person(string n, Person* f, Person* m, vector<Person*> c):name(n), father(f), mother(m), children(c){}
        ~Person();

};

class Family
{
public:
        Family();
        ~Family();. more info on 1point3acres.com

        bool isMember(Person* p){
-google 1point3acres                //search in the hasp map;
                if (members.find(p->name) != members.end()){. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                        return members[p->name].find(p) != members[p->name].end();
                }
                else
                        return false;
        }

        bool areCousin(Person* a, Person* b){. visit 1point3acres.com for more.
                //their parents are brother or sister.
                return areSibling(a->mother, b->father) || areSibling(a->mother, b->mother) || areSibling(a->father, b->father) || areSibling(a->father, b->mother);
        }

        bool areSibling(Person *a, Person* b){
                //if they have same parent;
                if (a->father == b->father && a->mother == b->mother). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                        return true;
                else
                        return false;
        }
. from: 1point3acres.com/bbs
private:
        map<string, set<Person*>> members;  //same name
        Person *root1, *root2;
};
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-7 02:39

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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