实习面试记录
2019年10月份开始,由于大四已经没有课,只是每天自习难免会无聊厌烦,希望将学到的知识用于实践,并提前体验一下工作,我们便开始投简历寻找与本专业相关的实习。丰富履历的同时也为毕业旅行储蓄一些资金~
首先来说小橙子
面试公司:某金融公司,负责资产管理和财富管理;
面试岗位:数据分析师,负责股票期权期货等金融产品的走势分析,定价模型分析等
岗位要求:熟悉数值分析算法,面向对象编程语言,熟练的编程能力,算法创新能力
面试过程:面试+笔试一起,共计半小时左右:
1.针对简历询问其中面试官感兴趣的地方,比如经济管理双学位,运筹学课程学习情况,编程课和算法课的学习情况
2.在白纸上随机出几道题进行口头解答
第一道:算法题
问题:有一个m*n的矩阵,每一行的后一个元素都大于前一个元素,每一列的下面一个元素都大于上面一个元素,给定一个数c,设计一个算法,确定c是否存在于这个矩阵中。
比较好的方法:
step1:首先与矩阵左下角的数xm1进行比较:
如果c==xm1,则c存在于此矩阵中;如果c>xm1,则删去第一列,得到一个m*(n-1)的矩阵,进行step2;如果c<xm1,则删去最后一行,得到一个(m-1)*n的矩阵,进行step2。
step2:在得到的新矩阵中重复step1,直到确认c存在于此矩阵中。
代码:
mxn=[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]]
from numpy import *
def find(mxn,m,n,target):
if(m==0 or n==0):
return false
if(m==1 and n==1):
if(target!=mxn[0][0]):
return false
if(target==mxn[m-1][0]):
return true
elif(target>mxn[m-1][0]):
mxn=delete(mxn,0,axis=1)
find(mxn,m,n-1,target)
elif(target<mxn[m-1][0]):
mxn=delete(mxn,m-1,axis=0)
find(mxn,m-1,n,target)
if __name__ == '__main__':
target=5
result=find(mxn,5,5,target)
第二道:最小二乘和PCA分别的原理与区别和联系
第三道:梯度下降法的应用,也可以叫做算法题
关于对推荐系统的想法:
采集哪些数据
1、用户点赞、评论和转发的视频,包括视频标签、视频发布者性别、视频发布地点、其他评论者的评论内容等
2、用户关注的视频创作者,包括创作者类型、描述、粉丝数
3、用户经常搜索的内容,包括用户、热点等
4、用户创作视频时使用过的视频道具、滤镜和音乐
建立哪些模型
1、分类模型:例如比较简单的贝叶斯分类模型,用以将用户的喜好进行分类
2、预测模型:例如LSTM神经网络进行预测,根据用户喜欢的视频内容进而预测用户可能喜欢的视频
3、排序模型:将用户可能喜欢的视频进行排序
4、关联规则推荐:根据预测到的视频,找到与之相关度高的视频进行推荐
针对不同用户如何做推荐
1、针对粉丝较多的视频创作者,推荐更多更高质量更高流量的视频,视频内容也可以更加多元化,以促进其灵感
2、针对有明显喜爱偏好的普通活跃用户,推荐内容主要集中在其喜好视频类别,并混杂一些相关视频
(例如:喜爱校园类视频的,着重推荐这类视频,同时也可以推荐一些职场类视频)
3、针对不活跃用户,推荐热门视频以促进其活跃度