第一次面试
主要是思维的缜密性,灵活性和全面性,一定要冷静
算法都不是很难的,都是最基本的,但一定要正确的写出来,一定要考虑边界值
1. python的基本操作,切片,词典,汉字处理,最基本的操作应该要会
2. 大规模数据处理,文件A和文件B,找出相同的行,可以用hash散列
3. 有序数组A ,有序数组B,元素都是int,找出两个集合的差集:就是为A,B设置个指针,然后每次将较小的数组放入,但是要考虑到譬如A的指针到头了,B的指针还没有到头
还想到了一个打点的算法,bool flag[maxInt],但是这就要考虑到内存的原因,我又没有考虑到
数据库操作的insert,竟然还用where
4.第二个人面试的时候,我明显没有把自己做的东西讲清楚,还是老师说的对,我的毛病就是不能把自己做的东西讲明白
5. 第三个人面试,atoi的实现,我没有考虑到的东西是,a的长度为0
还有一道题目,就是实现2d版本的melloc和free,返回的接口是**, 就彻底没有什么概念了,面试官还提示要考虑到内存的缺页什么的
还有一个致命的毛病,还是没有把机器学习的那几个模型讲明白,人家不要理解你会什么的公式推导,人家就是想知道那几个模型之间的关系,为什么你用这个模型而不是那个模型,为什么这个模型要好。一定要整理下自己熟悉的模型,搞清楚!(最大熵,感知机,crf,svm,mira)
6. 每天要写一道算法题,不要很难的,就比如最基本的各种排序