一面
- 自我介绍
- 研究项目
- 最小编辑距离(leetcode 72 hard) DP
- 一个文件,每一行都有一个单词。读取这个文件,输出一个词典,包含单词出现的个数(用python dic或者c++ map很容易实现). (WordCount)
- 拓展1:假设这个文件特别大,用数据流的形式才可以读入呢?(将文件分为几个部分,每个部分单独读取,最后依次读取词典完成合并)
- 拓展2:假设储存的词典内存都放不下怎么办(所以必须连词典都要拆分)?(使用前缀树将文件按照开头字母分为26个文件,可以保证每个文件中出现的单词永远不会出现在其他文件中。对于每个文件进行单独的词典构筑,最后得到26个词典,词典相互不会交叉)
- 前缀树是面试官提醒的,当时没想出来。事后觉得也可以给每一个字母一个非1的独立质数,每次读单词的时候将每个单词的字母质数相互乘起来,根据积的大小做区分
二面
- 自我介绍
- 研究