时间过的真快,今年已经毕业五年,在这五年中经历了很多,也学习了很多东西,技术方面工程、数据、算法都有涉及。
从今年3月份就开始陆陆续续面了很多不同的岗位,我个人都是边面试边复习,面试问到没答上的下来赶紧复习,已拿2家offer,过程中也复习了很多知识点,包括工程、数据、算法,发现很多东西可以串起来,后续会慢慢总结。
面试算法题方面:刷一些leetcode和牛客网上面的算法题。
工程方面:java基础、微服务架构、数据库。
数据方面:数据仓库架构、大数据平台、实时数据架构。
AI方面:机器学习、图算法、自然语言处理。
每一次面试都是一次提升。
华为(岗位:算法)
机试算法题:编写一个函数,计算字符串中含有的不同字符的个数。
一面
自我介绍,说一下项目经历
知识图谱的构建过程,从数据来源到入图整个流程
kafka的原理,分区和消费组是如何分配的
二面
pca的原理
逻辑回归的损失函数,如何优化
随机梯度下降法的原理
红黑树的原理
B树的原理
cnn的原理
给一个固定大小的list和一个map如何实现一个有序的队列,往这个队列中添加元素,如果队列满,将最少使用的删除
现场出题手撕代码,给定一个字符串数字,所有位数相加,一直迭代到个位输出。输入:12,输出:3,输入:1356,相加为15,两位数再进行相加,结果为6,输出:6
三面
问一些项目经历、工作经历、大学、年龄之类的、谈薪资之类的。
蚂蚁金服(岗位:数据)
自我介绍,过往项目
第一家公司做过印象比较深的项目,项目中使用的技术,项目细节,数据量有多大,在项目中遇到什么问题,如何解决的,几个人做这个项目的
金融知识图谱是如何构建的,整个构建过程,构建完是如何应用的,团队人员分配
对于一些超级节点如何处理
使用算法中,最得意的一个应用说一下整个过程
spark graphx跑图算法都做过什么优化
有没有带过团队
美团(岗位:数据)
一面
自我介绍
为什么使用图,相比原来的方式提升了多少,知识图谱的构建过程
NER是如何做的,lstm crf的细节
知识推理的应用
元数据管理了解么,如何使用知识图谱做,数据治理了解多少
数仓模型是如何构建的
数据倾斜遇到过没,如何优化
决策树的原理,有什么算法
list,set,map讲讲区别,CurrentHashMap是如何实现线程安全的
kylin的原理
使用过flink没
k近邻和k means算法的区别
朴素贝叶斯的原理
置信度和置信区间
除了技术书还读过什么书,最近读的技术书是啥,读完有什么感悟
a表两个字段,uid(用户id),bid(关注用户id),用你认为最优的方式找出所有互相关注的用户
写二分查找的代码
二面
自我介绍
项目介绍,为什么使用图数据库
lpa算法原理,收敛条件
ner怎么实现的,具体细节
使用聚类系数应用场景,原理
你们的数据仓库如何构建的,为何要这样构建
数据倾斜问题如何解决
微服务架构说一下
对话系统的原理,单轮对话和多轮对话的区别
后台开发做过哪些
未来规划
阿里云(岗位:数据)
一面
自我介绍
数据研发方面做过哪些,详细讲一个项目
数据库三范式是什么,你们数据仓库是如何构建的,DWD和DWS的区别,星型模型和雪花型模型的区别
图上的算法有没有优化过
团队人数,分工
二面
lpa算法的原理
mapreduce如何实现lpa算法
数据倾斜如何优化
哪些情况可以本地化reduce,哪些情况不能
spark如何实现中位数
为啥离职,现在的想法
做算法多还是做数据多
腾讯(岗位:工程)
分布式锁有用过没,什么场景,如何使用的,使用过程中有什么问题没
服务链路追踪原理
如何做全链路压测
数据库索引原理
字节跳动(岗位:大数据)
一面
自我介绍,项目经历
知识图谱的构建过程,数据的来源,结构化数据,非结构化数据,实体识别是如何做的,关系是怎么确定的,构建成图后如何进行知识推理
聚类的k是如何确定的,有没有一种公式来计算
word2vec的原理,输入是什么
说一下attention机制
lstm和gru的原理
你们是如何做NER的
说一下bert的原理,为什么效果好
做一道算法题:找到给定字符串中最长奇对称子串。输入: "babad",偶对称:"abba",奇对称:"abba",输出: "bab"。注意:也是一个有效答案。
二面
机器学习算法用的最熟的
svm是如何优化的,逻辑回归和svm的区别,逻辑回归的损失函数,逻辑回归损失函数为什么使用最大似然估计而不用最小二乘法,交叉熵和逻辑回归的输出中的概率是如何对应的
pagerank在什么情况下会失效,比如不是一个图,而是在一棵有向树上执行会出现什么情况
java中泛型的协变和逆变
java反射的原理
java中注解是如何实现的,是解决了什么问题,不使用反射能不能实现注解
java中为什么会定义一个接口,其他类实现此接口的方法,在每个类中也可以各自定义方法,多态解决了什么问题
java关键字volatile解决了一个什么问题,和AtomicInteger的区别,i 在这两种里面是如何实现的,各自线程安全吗,为什么
堆数据结构,最大堆和最小堆的原理,将最大堆中堆顶元素删除,堆是如何替换的,堆和排序树的区别
left join和inner join的区别,hive sql中left join和关系型数据库left join的区别
快手(岗位:算法)
项目介绍
使用到的知识图谱算法,lstm crf
聚类系数应用场景,K-Means的k值设置
社区检测算法
pagerank原理
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。
滴滴(岗位:算法)
项目介绍
使用到的图嵌入算法
社区检测,lpa和louvain的原理,如何衡量算法的效果
cnn的原理
随机梯度下降原理
逻辑回归损失函数
决策树,XGBoost原理,是Boosting还是Bagging
总结
上面是面完能记住的就这么多,有些知识点比较少的忘了。
个人感觉华为、美团、字节跳动问的比较全面,工程、数据、算法都有涉及到。
从中也可以看到大厂的考察点,数据结构与算法是基本功,然后是技术点,还有一些技术以外的可扩展性。