Wish 电面加onsite昂塞挂经

没考system design,1年经验

电面第一轮:
地里面经典的亲戚输出关系题.直接用了DFS,因为要求输出路径
第二轮:
2d matrix 给出起点和终点找路径. Point<white or black, integer value>
只能走相邻的不同颜色, 且value比当前格子大的的格子.

昂塞:
第一轮: bq给问蒙蔽了, 算法很简单, LCA, 要handle 点不在树里面的case,还非要通过recursion return value的方法handle, 卡了10分钟.
第二轮: 简历介绍 + 经典面经, largest sum of longest increasing subsequence. 秒了
第三轮: 简历介绍 + 经典面经, 红绿灯. 秒了。[红, 绿, 绿, 红, 红]. 翻转一个子区间(红变绿,绿变红),使得绿灯个数最大. 返回区间的起点和终点
第四轮: 简历介绍 + 经典面经, 判定是不是bot. 这个题我说了地里面的lazy deletion解法, 面试官要求进一步优化空间(handle很多人一天只登录了一次的情况). 没做出来, 代码也没写.
面试官直接说答案是存 Map<user id, count of login event in timeframe> + Queue<Event(user id, timestamp)>.
只存一个timeframe(比如60s)里面的所有event. 每当有新的timestamp扫描进来的时候, 移除queue里面所有超时的event, 同时更新map里面userid对应的count
总结: 这个公司全是高频面经题,大家好好准备.
吐槽一下recruiter有点不靠谱.

  1. 第一轮电面通知过了之后4小时反悔. 找了个拙劣的理由说要加面一轮. (说有两个team都对我感兴趣需要再面一轮了解一下,结果
    我反问第二轮是面简历还是算法,答曰算法). 目测套路是如果local就说有两个team感兴趣要加面,如果不是lo cal就说要加面一轮看值不值机票钱. 反正第一轮不够strong就会加面
  2. 给一个backend engineer match了一个full stack的岗位
  3. 给match了一个senior level的position.

其中2,3 都是我和面试官聊天才发现的,真的是浪费candidate的时间.
最后毫无悬念的被拒了. move on