2020 年面试记录 [Microsoft / Coupang / CoinMarketCap]

微软 O365 苏州

一面

  • 算法题:给你一个字符串,输出所有字符能组成的不同的字符串的个数
  • 有什么想问的问题?
    • 小组负责的事情:中国美国双线汇报、Office 技术上 Azure、Azure 技术引入、老应用服务&容器化

一面补充面

  • 中文自我介绍
  • 介绍一个在阿里的项目、遇到了哪些难点以及怎么解决的
  • 为什么想换工作(答:WLB & 技术挑战)
  • 有什么想问我的(具有什么特质的人更能在微软发展的更好?)
  • 英文问答:解释序列化和反序列化是什么
  • 在记事本上共享屏幕写题(英文):
    • 给一棵树,实现序列化和反序列化函数,在Windows记事本上手写,并英文解释问答
    • 面试官说最好用 non-recursive,然后我懵了不会写最后用的 recursive,代码
  • 问我今天的安排,请假了还是?

 

Coupang - 上海

一面

基本没有印象了... 应该是基础知识面(好像有问 JDK 8 新特征)

二面 - 项目面

  • 自我介绍
  • 介绍考核项目、遇到的问题、难点、指标介绍等
  • 介绍分层项目,遇到的难点,稳定性怎么优化的
  • 介绍数据化项目,数据来源等
  • 有什么想问的:负责的事情、技术挑战

三面 - 基础算法面

四面 - 进阶算法面

  • 算法题1:给一个表达式如 1+2*4-5/2,只有加减乘除,问最后结果是多少
  • 算法题2:给几种金额的硬币,和物品总价值,问有几种组合法,LeetCode 原题现场代码
    • 如果有特殊输入,比如金额或价值为 0 或负数怎么处理(考察边界、抛异常等)
  • 做完还没结束,问了其他:如何保证消息队列的 消息不重复、消息不丢失

五面 - 系统设计/架构面

  • 设计一个分布式任务调度系统:产品功能、整体架构设计、细节设计
  • 设计一个分布式爬虫系统:Master / Slave 设计、任务调度&优先级、去重、一致性 Hash、存储 等
  • 有什么想问的:日常工作模式和强度(貌似不应该在终面问这个...)

 

CoinMarketCap - 上海

一面

  • Java 中 HashMap 和 ConcurrentHashMap 原理
  • 类加载过程、垃圾收集器、Java 内存区域划分、OOM
  • 线程状态、线程池
  • 项目开发模式、为什么想换工作
  • 有什么想问的:公司状况、加班情况(据说到 9 点,去了主要做项目迁移)

 

微软 Intune 苏州

一面 

  • 面试官自我介绍,对方是前端,目前前后端分工比例大概是3:7
  • 简单介绍目前所做的一个项目,技术栈、项目中的角色等
  • Java 中 HashMap 的原理,复杂度等
  • HTTPS、HTTP 的区别,SSL 加密过程,对称加密还是非对称
  • 数据库使用哪些?是否用过 MongoDB,与  MySQL 这类数据库的区别
  • 算法题,可以用 IDE
    • 基础:给二维数组,1 代表有路,0 反之,点可以走向上下左右;给两个坐标,问是否连通(BFS)
    • 进阶1:给出两个点之间的距离,求两个坐标的最短距离(单源最短路)
    • 进阶2:给任意两个坐标,连续查询是否连通,优化复杂度(并查集)
  • 时间剩不多了,想再做题还是问面试官问题?
    • 我选择问面试官问题:组里做的事情、跟美国合作情况、加班情况

二面

  • 自我介绍
  • 项目中遇到的难点是什么,怎么解决的
  • 常用什么设计模式?单例模式在序列化场景会多个,如何解决
  • 项目是什么架构?微服务还是单体?互相之间怎么联动?
  • 用的缓存在高可用方面有什么考虑?缓存穿透和雪崩是什么,怎么解决?
  • Java 中的 HashMap、HashTable、ConcurrentHashMap,及 1.8 优化
  • 算法题1:给一个只有 0 1 2 的数组进行排序;代码
  • 算法题2:实现 LRU:代码;进阶:实现 LFU

三面

  • 介绍最拿得出手的项目、具体怎么解决的
  • 做题:给一些课程及依赖的前导课程、一个同学想上的所有课程(不想上这之外的课程),输出上课顺序,如果不能上完,返回空
  • 进阶:这个同学可以上这些课的前导课程了,输出上课顺序;代码

四面

  • 自我介绍,最有亮点的项目介绍
  • 短网址服务设计、进阶设计(高 QPS)、代码实现 long2short、short2long;现场代码
  • 如果需要去支持前端的项目,是否愿意
  • 英语怎么样(时间不够没有问题英语的问题)
  • 有什么想问我的,项目的前景、目前的业务开发节奏怎样

五面

  • 这轮是全英文面,附上大佬 LinkedIn:https://www.linkedin.com/in/nathansgreen/
  • 面试官介绍整个面试流程、面试官自我介绍
  • 英文自我介绍;介绍做过的项目、难点、解决;在项目中的角色,其他人的角色
  • 算法题:字符串压缩,aaaaccdddggg 压缩成 a{4}c{2}d{3}g{3}
    • 用啥语言写?思路是什么、编码
    • 异常输入如何解决思路,考虑字符非常多的情况,用 int 是否合适
    • 如果使用 bigInteger 用 cplusplus 如何实现?
    • 如果使用 bigInteger 在 decompress 时候会不会有问题,如果数据太大会不会爆掉内存,如何解决
  • 设计题:一个数据,来自于多个数据源,如果在查询、排序、过滤的时候都有比较好的体验?(崩了,本来思路就不是很好,解释起来还比较麻烦... 面试官怕我听力有毛病直接手打字了)
  • 有什么想问面试官的:What kind of people do well in your team or company?

六面

  • 这轮是中文面,附上大佬 LinkedIn:https://www.linkedin.com/in/jeff-liu-82a651107/
  • 面试官介绍整个面试流程
  • 自我介绍、最优难点的项目
  • 日常需求如何管理
  • 算法题:给一个数组,数字是有序的,其中缺失1个数,输出这个数,如 1,2,3,5 输出 4。思路和code,单步样例跟踪讲解:现场代码
    • 进阶1:如果缺失了多个数,输出所有缺失的数字,怎么解决?
    • 进阶2:如果只需要求缺失了多少个数字呢?
  • 对于整个面试有什么问题?面试感受怎么样?有什么想问我的?

 

心得体会

  • 记得几年前有个阿里同事说,每年都要去外面面试看看,看看自己的水平怎么样了,也看看外面的行情
  • 面试不仅仅是面试官对候选人的选拔,也是候选人对于各公司的很好的了解的途径。面试官的考察方式、技术水平、是否尊重人、甚至面试邀约安排方式 都很重要
  • 好的面试不应该是考察八股文(如红黑树旋转原理),而是引导候选人不断深入思考,最大程度挖掘候选人的横向和纵向潜力,再看是否符合公司对人的要求

 

 

 

posted @ 2020-10-08 16:38  Popco  阅读(5652)  评论(0编辑  收藏  举报