微软 Redmond 上门

  1. 处理log,每一行格式:
    UserID(int),Timestamp(long),Action(string)
    //Action 可以是enter和exit。enter到exit算作online时间
    输出:
    按用户online时长降序打印出
    UserID,Starttime,Duration
    同一用户enter/exit可以嵌套或者overlap。overlap部分时间要merge算在同一个online里。

  2. 写一个二叉树的迭代器。迭代顺序自选。我选DFS。要求实现peek(), hasNext(), next()。时空复杂度。完了问怎么改动可以迭代n-ary树。

  3. 一个巨大的二叉树一台机器的内存容纳不了。如何分布式存放。需要支持读取,更改,加node,删node。问得很细。

  4. BQ. 问做过的项目,同事间意见不一怎么处理,和老板意见不同怎么处理。如何prioritize手里的活。

  5. 先介绍自己在软软的的经历,然后问简历上做过的项目。对一个我参与时间不长的项目(和他手头的项目相似,所以比较感兴趣),回答得不太好。教训是以后不能把不太熟悉的项目写在简历上。最后一看只有20分钟了就问了一道LC230。

总体感觉还不错,软软现在有钱,但好像人员流动挺厉害,不知为什么