百度自然语言处理部(生物计算)技术面
百度自然语言处理部技术面
一共55mins,百度面试需要先下载他们的如流APP,最好是提前15min测试一下。
背景:面试自然语言处理部的生物计算,所以中间会被问到一些生物学知识。
面试官没开摄像头,听声音应该是三十岁左右,比较温和。
自我介绍
一上来就是自我介绍,主要是介绍了一下自己的基础背景和做过的项目。然后开始就项目进行问一些问题。
项目相关
-
项目A用的数据features有哪些?维度是多少?训练集有多大?
-
项目B中暑期学校时间有多长?单片机的线路怎么设计的?实验数据用什么语言处理的?
暑期学校时间大概半个多月,单片机是买的板子,自己设计了一个电路,联了一些元件。程序是用C++写的,实验数据用R处理的(主要是做了一些标准化和比对)
-
项目C使用的降维方法是什么?聚类算法用的哪个?怎么鉴定细胞类型?论文最终发表在哪里?
降维方法主要先是用t-SNE算法,后来因为数据集比较大换成了UMPA(然后这里就被怼了,面试官觉得几万个cells用t-SNE完全可以的,我解释一下主要是因为维度比较高,并表示两者其实差异不大)做了非线性降维处理,进行了可视化,然后用PCA筛选了高可变基因做后续分析。聚类算法用的是Louvain方法(给后面埋雷了),鉴定细胞类型主要是找了一个数据库,做了交叉验证。因为毕设换导师论文没发。
算法相关
这里直接第一个问题就是项目中自己给自己埋的大雷
-
解释一下Louvin算法?
这里真的离了大谱,因为当时做项目的时候这都是默认的protocol,完全没有仔细去理解那个算法的过程,然后就很尴尬的表示自己对于细节不太了解。
-
分别解释一下谱聚类,K-Means,EM算法
以上都是机器学习中比较常见的算法,但是我个人感觉回答得比较好的只有K-means。。。。。后面又让我简单说了下自己还会哪些机器学习的算法(主要就是决策树,CNN,RNN)
-
然后就是直接开编辑器写代码了
首先是写一个递归的斐波那契数列,然后分析时间复杂度,然后把这个改成动态规划。(还好不是很难)
组学相关
百度NLP生物计算那边主要接触的数据都是组学数据,所以需要对生物学背景知识有一点了解
-
问我们计算基因组学那门课都学了些什么?
-
解释一下ChIP-Seq、ATAC-Seq?
ChIP-Seq还好,但非常尴尬的是我把ATAC-Seq和MNase-Seq记混了,表示ATAC-Seq测出来的是染色质关闭区域(这里也被面试官纠正了,非常尴尬)。然后自己还提到了**Cut&Tag技术(主动作死)**又被面试官纠正了一次。
反问环节
反问环节我真的是作大死,我也不知道当时自己脑子为啥抽风了(可能是最近都没睡好)一上来提问就把面试官干懵了。
-
问面试官,你们那边工作压力如何?是不是996?
面试完给软院同学交流,对方表示「How dare U??」确实,互联网公司都不应该问这种比较忌讳的问题,还好的是面试官虽然懵了,但还是回答了,他们团队不996,然后工作环境都还好。
-
我接着问了下在他们那边能够学到什么?
面试官表示他们那边自由度比较高,每个实习生会有一个mentor带着,然后给予实践上的指导。
最后就是问了一下入职时间,以及这个项目可以选择base上海或者base深圳,然后问了下两个地方团队的差异。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!