外企笔试面试凉经

1. 微软

春招笔试巨难,ACM难度,0AC

4月底被捞起来,一二面安排在同一天

第一面: Leetcode 1096 Hard, 简化版无括号嵌套版本,这道题目比较难

第二面: 大概是

- 算法题:给定一堆序列标号(标号用整数),形式为[a,b],表示标号为a,b的两个物体的体积关系满足:a > b,用合适的数据结构存储数据,并判断这堆序列是否有效。(比如[a,b], [b, d], [d, a]这个就不是有效的,因为a > b, b > d, 那么 a > d, 但是最后一个序列说的是 d > a,矛盾了。)

等价于判断有向图有没有环,拓扑排序或者dfs

当时准备不充分,第一道题目没思路,第二道题答出了DFS,没说出拓扑排序,写了DFS的代码

五一之后收到三面:

三面写一个百分位数的算法

我理解的是等效于快速选择算法

 

前三面都没有英文面试,之后没消息,过了两三个星期打电话问HR,HR说不清楚,最后凉。

 

复活面:6月中旬,偶然抓住机会复活面

一面:给一种字符串加密方法,加密过程是把一个串不断左右左右移动: abcde => dbace

面试官沟通描述了加密过程,让我写解密过程,我被他说的比较晕,以为写加密过程,思路有些模糊。然后面试官提示了解密的规律。然后我就看出来了。但是奇数长度和偶数长度不一样这点我还没有看出来,面试官在指出,然后我找了奇数和偶数的规律,分开写了规律。问奇数和偶数的情况是否能统一成一种规律。这里我想到了添加一个空格的方法,把奇数变成偶数。还有一种方法是把两个字符看成一个整体。

二面遇到女面试管,首先让英语介绍疫情期间生活的变化,之前完全没有准备,减分很大。然后做题:

Given an array with around 10w elements, each element is within [0,10w], how to get max subsequense length with same value if you have a opportunity to swap two elements?

Sampes:
1,1,0,2,3,1,0,1,1,3,4 => output: 4
0,2,3,1,0,1,1,3,4 => output: 3
1,1,0,0,2,3,3,1 => output: 3

类似于Leetcode 1156. 单字符重复子串的最大长度 

这题直接想很难想,比较好的思路是用滑动窗口,先不要考虑交换,先假设就是强制把0变成1, 然后来看此时的最大值。然后再去看是否能交换。

 

不难发现,微软的面试随机性很大,这几道题目在常见的面经都没有出现。所以除了准备前LC前500道常见算法,还有参加周赛,增加对新题目的解题思路的掌握。

 

其他外企

 

其他外企笔试

 

2. Hulu 笔试难度巨大 ACM劝退

3. Paypal 简历没过,据说30HC,群里有2000人。。。

4. 英特尔: 选择题底层,编程题只能用纯C(纯C写计算器,链表的快速排序。。。)

5. 英伟达: 选择题底层,好像只有选择题

6. 亚马逊: 笔试相当于Leetcode周赛难度,3道题,2道以上进面试?我A了1.6,第二题暴力,实际上是dp

7. Thought Works: 有个英文的行测,特别难, 预约了面试时间,没有回复挂。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值