美文网首页
TWITTER SDE 电面+ONSITE 面经

TWITTER SDE 电面+ONSITE 面经

作者: 程风破浪会有时 | 来源:发表于2017-12-11 22:38 被阅读0次

在之前的公司干了两年多,想要寻求新的挑战,所以两个月前向Twitter投了简历。半个月后得到Twitter的反馈,然后开始了为期一周的面试。

这次面试一共经历三轮电面和七轮onsite。中间各种忐忑,但好在最后拿到了offer,也算没有白费力气。

电面1:

首先面试官做了简单的自我介绍,然后问了之前做过的项目的基本内容。之后就进行了coding。

1.斐波纳契系列不使用数组 - 这是一个典型的最喜欢的问题,比如:动态规划,要求不使用记忆化或任何额外的空间来存储上一次迭代的值。

(更复杂的版本的同样的问题:使用二维数组N x N生成pascal三角形的第n行)

2.N元树:查找树中是否存在值为x的节点。如果存在,返回true,否则返回false。

电面2:

这一面的面试官主要对项目进行了深入探讨,考察之前完成项目过程中用到的技术,更为强调技术的深度。之后依旧是进行coding。

LintCode - 找到二叉树的最近共同祖先

LintCode原题链接:

http://www.lintcode.com/zh-cn/problem/lowest-common-ancestor/

参考答案:

http://www.jiuzhang.com/solutions/lowest-common-ancestor/

LintCode - 克隆一个图并分析时间和空间的复杂度

LintCode原题:

http://www.lintcode.com/en/problem/clone-graph/

参考答案:

http://www.jiuzhang.com/solutions/clone-graph/

public class Node {

public int data;

List neighbhors;

public Node (int data) {…}

setNeighbors(List neighbhors) {…}

}

// HashMap created = new HashMap();

public Node clone(Node oldGraph) {

if (created.get(oldGraph))

return created.get(oldGraph);

Node newGr = new Node(oldGraph.data);

List nbors = new ArrayList();

created.put(oldGraph, newGr);

List adj = oldGraph.getNeighbhors();

for (Node n : adj) {

nbors.add(clone(n));

}

newGr.setNeighbors(nbors);

return newGr;

}

电面3:

设计一个bloom过滤器,以从未排序的数组中删除重复项!

Onsite 1:

自我介绍之后简单进行一些询问,问了一些基础性问题,之后开始coding。最后探讨了程序的优化方案。

1.在数组中的2D数组(M×N,给定例子3×3)中,找到从指定原点(1,0)到指定目的单元(0,2)的严格增加的路径。数组可能包含重复元素,解决方案应该与dups配合使用。

Onsite 2:

这一轮主要考察 Coding能力,直接上来两道题。

1.为Twitter中的每个tweet设计一个唯一的哈希函数,将用作服务的一部分。

2.查找有向图是否有环。写一个函数,返回boolean,实现这个功能。

Onsite 3:

严格来说可能不能算正式面试,只是在午餐时间进行了简单闲谈,主要是谈过去的工作经历及对程序员这一岗位的看法。

Onsite 4:

对之前工作中遇到的问题的解决方案进行了询问,主要是针对问题解决能力的考察。

1.LintCode - 通配符匹配:使用包含字符(a至z)和“*”,“?”和“”的模式进行正则匹配。

LintCode原题:

http://www.lintcode.com/en/problem/wildcard-matching/

参考答案:

http://www.jiuzhang.com/solutions/wildcard-matching/

Onsite 5:

首先一上来就进行了算法编程,做完之后问了问之前在团队中和其他成员的相处情况,感觉是在考察交流和相处能力。

1.系统设计 - 如何进行外部排序,每台机器有10M的数(总共100M),10台机器。每个m / c具有20MB RAM和50GB内存。最后要求提供一个 map-reduce 的解决思路。

2.LintCode - N皇后问题:找到并打印皇后的所有可能的不相冲突的位置。

LintCode原题链接:

http://www.lintcode.com/zh-cn/problem/n-queens/

参考答案:

http://www.jiuzhang.com/solutions/n-queens/

Onsite 6:

这一轮主要是Coding,一共2道算法题,都有follow up.

1.LintCode - 二叉树查找树中序后继:给定输入二叉树和对树中的节点的引用,找到输入节点的下一个中序后继。如果没有,则输出null。

LintCode原题链接:

http://www.lintcode.com/zh-cn/problem/inorder-successor-in-binary-search-tree/

参考答案:

http://www.jiuzhang.com/solutions/inorder-successor-in-binary-search-tree/

2.进行k排序数组的最佳方式是什么?优化时间复杂性。

Onsite 7:

主要问的是系统设计方面的。

1.设计一个服务器。a.耐用性 b.一致性

2.解释C ++的多重继承问题。

之后问了对公司的看法、平时的业余爱好等。

相关文章

  • TWITTER SDE 电面+ONSITE 面经

    在之前的公司干了两年多,想要寻求新的挑战,所以两个月前向Twitter投了简历。半个月后得到Twitter的反馈,...

  • 微软SDE面经(电面+onsite)

    本人工作1年多了,正在准备跳槽中。刚刚参加完微软西雅图的面试,来分享一下自己的面试过程。一共7轮面试,其中1轮电面...

  • Snapchat SDE电面+onsite面经

    刚刚结束了在Snapchat的面试,我应聘的是software engineer 职位。 Snapchat面试的效...

  • Facebook SDE onsite面经

    前不久参加了Facebook的SDE面试,很遗憾失败了,不过还是有些经验能分享的。 这次面试一共面试了4轮。 On...

  • 面经集锦

    google Google面经七天Onsite面试硅谷七家公司

  • Facebook SDE Intern电面

    刚刚收到mail被拒,此处贴上两轮电面经验。目前继续投简历中,希望下次能来分享onsite经验。 电面 1: 上来...

  • 如何正确的进行技术面试?

    最近在面试上出现了很多问题,电面和onsite一面的评价不一致,以及onsite一面和二面的评价不一致。诚然每个阶...

  • 2017 Google TE

    https://www.jiuzhang.com/qa/6175/ 之前面SDE的时候由于根本没刷题所以电面没过。...

  • 【面试】2019微软SDE3轮电面

    美国时间晚上6:30开始 一面: 自我介绍 介绍一个项目,说一下解决了哪些问题 Coding:找二分搜索树中第k小...

  • 中航电测面经

    第一次面试日记 2017年9月14日,天气晴朗。今天我早上乘车到工大本部参加面试,在招聘会中我并没有多投简历,但可...

网友评论

      本文标题:TWITTER SDE 电面+ONSITE 面经

      本文链接:https://www.haomeiwen.com/subject/jiijbxtx.html