搜狐-自然语言处理工程师-第1+2轮面试
面试概况
面试时间:2016年3月1日 14:00-15:07
面试形式:电话面试
面试数量:两轮面试;
面试官:一位NLP面试官,一位code面试官;
面试内容
第一轮面试:NLP相关
1.简单介绍自己
2.从简历中挑选两个最典型的项目
(1)事件抽取
简单介绍事件抽取;
Q:事件的定义?
A:这个也是国内所做项目涉及的概念,一种结构化知识的方法。
N元模型》Hybrid HMMs(这个Hyrbid HMMs是我自己改进的)
Q:Hybrid HMMs与HMM有何区别?
A:如实回答。
(2)医疗社区用户生成数据分析
简单介绍工作内容;
Q:对NB,KNN,DT,SVM各种模型的理解?
A:介绍对NB的理解,先验概率,条件概率,联合概率,后验概率。。。
Q:NB有哪些不足?
A:没答上来。(面试官:条件独立性假设导致的不足)
Q:如何用SVM做多分类?
A:1 vs. rest
Q:一共多少类?具体如何做的?
A:10类,十个svm
Q:这样会导致什么问题?
A:数据不均衡
Q:如何解决?
A:欠采样,从其余9类中抽部分数据
Q:还有一种方式?
A:1 vs 1
Q:对,这种方式比第一种方式要好
Q:如何对SVM优化?
A:SMO
Q:讲讲SMO原理?
A:线性问题》拉格朗日对偶化》拉格朗日因子向量》每次选择2个进行拉格朗日因子进行优化,把大问题分解为小问题;
Q:介绍项目中的几种表示方式?
A:如实回答。
Q:实验结果怎么样?
A:几种模型中SVM最好,几种知识表示方式取决于数据量,数据量少的情况下term-based最好,领域词典次之,lda-based最差。
Q:有没有尝试几种模型的组合?加权重;几种知识表示方式的组合?连接;
A:没有。
Q:给一批新闻语料,想办法把他们按地域分类(北京,上海,深圳)
A:从中提取名词,人物,地点,根据这些特征进行分类
Q:如何获取地点知识库?
A:半结构化知识,结构化知识,非结构化知识。
百度百科,新闻,社交网络(面试官提示:采用地图API获取地点信息)
Q:假设你追一个女孩子,表白成功的概率为p,如果表白被拒绝,你的信心下降,表白成功的概率会衰减为p = λ*p,问表白成功所需次数的期望值是多少?
A:不会。
Q:介绍科研成果
A:如实回答。
6.向面试官提问
(1)团队规模?
计划扩展到20人,目前有7人。
(2)具体工作?
主要负责搜狐新闻的推荐、分类、质量评估等;
(3)入职培训?
入职有集体培训,组内每周五有讨论;
第二轮面试:编程
使用熟悉的语言,编程实现链表的插入,删除和查找;
听到题目的时候有点蒙,对于这道题目的印象还停留在学习C语言的时候(09年)。
【下边的代码是我面试时候写的,存在很多不足,都加了相应注释,正确版本也不难,可以参考我以前写的《二叉树的一些操作》。】
关于语言,从Python和C中选择了C,涉及到指针的时候,还是使用C更舒服。
【完成功能的过程中遇到一些坎坷,不过面试官最后的评价:编码风格,命名以及缩进都不错。】
1 | typedef struct{ |