HR说第一轮是coding,第二轮是 BQ 为主的一个半小时的面试。
面试官是个烙印,第一题是 LC 283 Move Zeroes ,要 maintain relative order。写完代码后说要improve。想了半天,就说了quick sort 里面用 partition 的方法,类似 LC 75 Sort Colors,就给过了。
第二题 input 是 List<String>
, 要求 encode 为一个string。 然后写 decode 方法来还原成 List<String>
。这里主要是separator的问题。一种解法是定义一个separator,比如 |
,那么["abc", "110"]
就被encode 成 abc|110
。如果string中出现 |
,就double 一下,比如 ["abc", "110","a|","|a"]
就被encode 成 abc|110|a|||||a
。另外一种解法就是记录每个string 的len在开头。