📣 独立日限时特惠: VIP通行证立减$68
回复: 55
跳转到指定楼层
上一主题 下一主题
收起左侧

脸书电面+onsite

 
全局:

2018(7-9月) 码农类General 硕士 全职@meta - 内推 - 技术电面 Onsite  | | Pass | 应届毕业生

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

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

x
Timeline:
7月底在地里找人refer。
8月初电面,三天后收到onsite通知
9月中旬参加University Day

电面(名字和口音像是白人小哥):
1. LC二武叁,给小哥介绍了两种方法,一种是start/end数组分别排序然后遍历一次的解法,一种是排序一次然后最小堆的解法。最后用最小堆解法写完了。
2. LC拾漆,有点区别是小哥并没有说是电话九宫格,而是给一个List of List of letter,所以就不用考虑0这样的无效输入,一样的解法。

Onsite:
第一个,让实现一个比较两道字符串的方法;前提是让字符串分block比较,相连的字母组成一个block,相连的数字组成一个block,比如“abcd12ef3”由4个block组成,两个字符串变成两组block之后对应的block挨个比较,如果对应的block一个是字母一个是数字,那
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
过值得提的是follow up问了很多,包括如果是three sum会有什么变化,如果有重复值,要求输出所有值一样但是index不一样,或者要求筛掉所有值一样的该怎么做,甚至用two sum方程作为API,three sum该怎么用它。

以上几乎所有的题都得跟面试官提我可不可以假设不会出现integer overflow的情况,以及其他经常出现的corner case情况。
FB的面试官很喜欢各种follow up。。。。有些还会魔改题。。。

评分

参与人数 9大米 +29 收起 理由
StellaYue00 + 3 感谢分享~
fateacher + 3 感谢分享!
nsk1102 + 3 感谢分享!
mtrsen + 1 欢迎来介绍你知道的情况
greenmania + 3 感谢分享!

查看全部评分


上一篇:FB电面面经总结
下一篇:10/3亚麻oa1面经

本帖被以下淘专辑推荐:

推荐
chenlijie 2017-12-23 05:38:28 | 只看该作者
全局:
字符串比较,我有下面这种解法。欢迎点评:
int isGreatThan(String s1, String s2) {
        int i1 = 0;
        int i2 = 0;
        int len1 = s1.length();
        int len2 = s2.length();

        while (i1 < len1 && i2 < len2) {
            char c1 = s1.charAt(i1);
            char c2 = s2.charAt(i2);

            //find any alphabet
            if (Character.isAlphabetic(c1) || Character.isAlphabetic(c2)) {
                if (Character.isDigit(c1)) {
                    return 1;
                } else if (Character.isDigit(c2)) {
                    return -1;
                } else if (c1 != c2) {
                    return c1 - c2 > 0 ? 1 : -1;
                }
            } else {
                int j1 = i1;
                while (j1 < len1 && Character.isDigit(s1.charAt(j1))) j1++;

                int j2 = i2;
                while (j2 < len2 && Character.isDigit(s2.charAt(j2))) j2++;

                int res = compareNumString(s1, i1, j1, s2, i2, j2);
                if (res > 0) {
                    return 1;
                } else if (res < 0) {
                    return -1;
                }
            }
            i1++;
            i2++;
        }

        return i1 != len1 ? 1 : i2 != len2 ? -1 : 0;
    }

int compareNumString(String s1, int i1, int j1, String s2, int i2, int j2) {
        //skip 0
        while (i1 < j1 && s1.charAt(i1) == 0) i1++;
        while (i2 < j2 && s2.charAt(i1) == 0) i2++;

        if (j1 - i1 > j2 - i2) {
            return 1;
        } else if (j1 - i1 < j2 - i2) {
            return -1;
        }

        while (i1 < j1) {
            if (s1.charAt(i1) > s2.charAt(i2)) {
                return 1;
            } else if (s1.charAt(i1) < s2.charAt(i2)) {
                return -1;
            }
            i1++;
            i2++;
        }
        return 0;
    }
回复

使用道具 举报

推荐
Margaret601 2017-10-20 05:20:47 | 只看该作者
全局:
realhly88 发表于 2017-10-4 05:15
确实是额。。。

补充内容 (2017-10-4 05:20):

不好意思还是不太明白,第一题为什么"abd" 要小于 "ab"呢? "abd" 不是比"ab"多出来一个字母吗,用"abd".compareTo("ab") 得到的也是正数诶……

以及,数字的话用compareTo也是长的比短的大啊,比如String s = "123", String p = "12", s.compareTo(p) > 0 这样是不是就可以避免overflow的问题了?

所以我还是不明白这道题的考点在哪里,难道在如何分block吗?

谢谢LZ!
回复

使用道具 举报

🔗
fakllfa111 2017-10-4 03:03:53 | 只看该作者
全局:
想請問你是哪一天onsite? 我是9/22 onsite, 但還沒hear back.
回复

使用道具 举报

🔗
littlegirl 2017-10-4 03:19:26 | 只看该作者
全局:
恭喜楼主!!!!同问timeline,uday之后要了ref就没消息了
回复

使用道具 举报

🔗
FF-Ti 2017-10-4 03:21:05 | 只看该作者
全局:
恭喜lz,吸一下!!!
回复

使用道具 举报

🔗
 楼主| realhly88 2017-10-4 03:50:53 | 只看该作者
全局:
fakllfa111 发表于 2017-10-4 03:03
想請問你是哪一天onsite? 我是9/22 onsite, 但還沒hear back.

我比你早一周,那你估计还得等一周左右
回复

使用道具 举报

🔗
 楼主| realhly88 2017-10-4 03:51:07 | 只看该作者
全局:
littlegirl 发表于 2017-10-4 03:19
恭喜楼主!!!!同问timeline,uday之后要了ref就没消息了

我等了两周多一点
回复

使用道具 举报

🔗
weitongg 2017-10-4 04:18:01 | 只看该作者
全局:
楼主 onsite第一轮那题。如果比较两个数字也可以用compareTo()的方法吧,这样就不用管是否overflow了…
回复

使用道具 举报

🔗
weitongg 2017-10-4 04:26:59 | 只看该作者
全局:
还有第二轮第二题就是利口 target sum那题吧
回复

使用道具 举报

🔗
 楼主| realhly88 2017-10-4 05:15:25 | 只看该作者
全局:
weitongg 发表于 2017-10-4 04:18
楼主 onsite第一轮那题。如果比较两个数字也可以用compareTo()的方法吧,这样就不用管是否overflow了…

确实是额。。。

补充内容 (2017-10-4 05:20):
不是不是。。。数字是比较数字的大小,长的数字肯定比短的大。
回复

使用道具 举报

🔗
 楼主| realhly88 2017-10-4 05:18:19 | 只看该作者
全局:
weitongg 发表于 2017-10-4 04:26
还有第二轮第二题就是利口 target sum那题吧

不一样,这个是给数字的字符串,你可以任意位置插入+-,也可以不插入。。
回复

使用道具 举报

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

本版积分规则

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