回复: 31
跳转到指定楼层
上一主题 下一主题
收起左侧

脸家上门经

全局:

2017(4-6月) 码农类General 硕士 全职@脸熟 - 猎头 - Onsite  | | Other | 在职跳槽

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
最近面的脸家上门,5轮,其中3轮是写码,一轮讨论职业+一个白板写码,还有一轮设计 隐私那个高频题

有两个新题,以前面经里没看到过:

1. 给一个
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
bug free。

不知道结果会是什么,发面经攒一下人品吧。有不清楚的可以给我站内信

祝大伙好运气!

上一篇:7/21 口袋宝石 电面二
下一篇:bloomberg店面

本帖被以下淘专辑推荐:

全局:
namespace CopyTreeNode
{
    class CopyTreeNode
    {
        static void Main(string[] args)
        {
            NeryTreeNode root = new NeryTreeNode(' ');
            NeryTreeNode b= new NeryTreeNode('b');
            NeryTreeNode c = new NeryTreeNode('c');
            NeryTreeNode d = new NeryTreeNode('d');
            NeryTreeNode e = new NeryTreeNode('e');
            NeryTreeNode f = new NeryTreeNode('f');
            NeryTreeNode g = new NeryTreeNode('g');
            NeryTreeNode h = new NeryTreeNode('h');
            NeryTreeNode i = new NeryTreeNode('i');
            NeryTreeNode j = new NeryTreeNode('j');
            NeryTreeNode k = new NeryTreeNode('k');
            NeryTreeNode l = new NeryTreeNode('l');
            root.children[0] = b;
            root.children[1] = c;
            root.children[2] = d;
            root.children[3] = e;
            b.children[0] = f;
            b.children[1] = g;
            b.children[2] = h;
            b.children[3] = i;
            c.children[1] = g;
            c.children[2] = k;

            NeryTreeNode copyRoot = new NeryTreeNode(' ');
            NeryTreeNode B = new NeryTreeNode('B');
            NeryTreeNode C = new NeryTreeNode('C');
            NeryTreeNode D = new NeryTreeNode('D');
            NeryTreeNode E = new NeryTreeNode('E');
            NeryTreeNode F = new NeryTreeNode('F');
            NeryTreeNode G = new NeryTreeNode('G');
            NeryTreeNode H = new NeryTreeNode('H');
            NeryTreeNode I = new NeryTreeNode('I');
            NeryTreeNode J = new NeryTreeNode('J');
            NeryTreeNode K = new NeryTreeNode('K');
            NeryTreeNode L = new NeryTreeNode('L');
            copyRoot.children[0] = B;
            copyRoot.children[1] = C;
            copyRoot.children[2] = D;
            copyRoot.children[3] = E;
            B.children[0] = F;
            B.children[1] = G;
            B.children[2] = H;
            B.children[3] = I;
            C.children[1] = G;
            C.children[2] = K;

            var result1 = new CopyTreeNode().GetCopy(root, copyRoot, h);
            var result2 = new CopyTreeNode().GetCopy(root, copyRoot, d);
            var result3 = new CopyTreeNode().GetCopy(root, copyRoot, k);
        }

        public NeryTreeNode GetCopy(NeryTreeNode root, NeryTreeNode copyRoot, NeryTreeNode from)
        {
            var result = new List<string>();
            GetPath(root, from, new StringBuilder(), result);
            if (result.Count == 0)
            {
                return null;
            }
            string path = result[0];
            NeryTreeNode current = copyRoot;
            for (int i = 0; i < path.Length; i++)
            {
                int number = path[i] - '0';
                current = current.children[number];
            }
            return current;
        }

        public void GetPath(NeryTreeNode root, NeryTreeNode target, StringBuilder sb, List<string> result)
        {
            if (root == null)
            {
                return;
            }
            if (root == target)
            {
                result.Add(sb.ToString());
            }
            var children = root.children;
            for (int i = 0; i < children.Length; i++)
            {
                if (children[i] != null)
                {
                    sb.Append(i);
                    GetPath(children[i], target, sb, result);
                    sb.Remove(sb.Length - 1, 1);
                }
            }
        }
    }

    public class NeryTreeNode
    {
        public char val;
        public NeryTreeNode[] children;
        public NeryTreeNode(char v)
        {
            val = v;
            children = new NeryTreeNode[4];
        }
    }
}
按照楼主的提示写了一下代码 请指正 由于工作原因用的c# 不好意思
回复

使用道具 举报

推荐
 楼主| 熟狗脸 2017-7-22 08:12:48 | 只看该作者
全局:
chris612ku 发表于 2017-7-22 08:05
想错了  val的值不重要
应该直接traverse 原本的tree同时找到相对应copy tree的node就好了吧?

我开始也是同样的思路去 traverse tree, 但是面试官提示有更简单的记录路径的方法,然后原路返回即可找到。最后的代码实现了这个建议
回复

使用道具 举报

推荐
 楼主| 熟狗脸 2017-7-26 19:09:29 | 只看该作者
全局:
刚刚 fb recruiter 来信说周二收齐了 feedback,. 也没说是否 Positive, 大家看看下面的咋理解好will be beginning to discuss your candidacy. Please let me know if we need to expedite the process for any reason. Stay tuned - will be in touch again when there is another update!
回复

使用道具 举报

🔗
chris612ku 2017-7-22 08:00:09 | 只看该作者
全局:
请问楼主第二题同一个tree里每个node的值(val) 都是不一样的吗?
假如是不一样的是不是就是同时traverse两个tree就可以找出答案了?
回复

使用道具 举报

🔗
chris612ku 2017-7-22 08:05:29 | 只看该作者
全局:
chris612ku 发表于 2017-7-22 08:00
请问楼主第二题同一个tree里每个node的值(val) 都是不一样的吗?
假如是不一样的是不是就是同时traverse两 ...

想错了  val的值不重要
应该直接traverse 原本的tree同时找到相对应copy tree的node就好了吧?
回复

使用道具 举报

🔗
 楼主| 熟狗脸 2017-7-22 08:11:18 | 只看该作者
全局:
chris612ku 发表于 2017-7-22 08:00
请问楼主第二题同一个tree里每个node的值(val) 都是不一样的吗?
假如是不一样的是不是就是同时traverse两 ...

同一颗树里的 node 值不唯一
回复

使用道具 举报

🔗
chris612ku 2017-7-22 08:15:47 | 只看该作者
全局:
熟狗脸 发表于 2017-7-22 08:12
我开始也是同样的思路去 traverse tree, 但是面试官提示有更简单的记录路径的方法,然后原路返回即可找到 ...

想请问一下楼主最后是怎么实现的?
难道不是就traverse,假如一找到立马返回吗?

谢谢

补充内容 (2017-7-22 08:17):
应该说同时traverse 两个tree
回复

使用道具 举报

🔗
mchzh 2017-7-22 09:12:10 | 只看该作者
全局:
第一个题是不是用slide window的思想去解?
回复

使用道具 举报

🔗
 楼主| 熟狗脸 2017-7-22 09:21:31 | 只看该作者
全局:
mchzh 发表于 2017-7-22 09:12
第一个题是不是用slide window的思想去解?

我用了一个 hashmap做记录统计
Sliding window 不行吧,如果是整个 array 长度是最短的 subarray
回复

使用道具 举报

🔗
summerlismile 2017-7-22 12:20:28 | 只看该作者
全局:
问下楼主 其中三轮是写码 是用白班还是上机写啊
回复

使用道具 举报

🔗
 楼主| 熟狗脸 2017-7-22 12:43:41 | 只看该作者
全局:
summerlismile 发表于 2017-7-22 12:20
问下楼主 其中三轮是写码 是用白班还是上机写啊

确切的说是在白墙上写
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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