互联网公司常见算法面试题汇总(图像算法+机器学习+数据挖掘)

随着人工智能的大热,身边转型做算法工程师的朋友越来越多。其实算法工程师的细分领域也很多,今天我主要从图像算法/计算机视觉工程师类、机器学习工程师、数据挖掘算法工程师类这三类,根据大家的求职经验,来说说互联网公司常见的算法题,希望对大家求职面试有所帮助。(当然,总结的比较仓促,可能比较片面,欢迎大家随时补充)。

互联网公司常见算法面试题汇总(图像算法+机器学习+数据挖掘)

(一)图像算法/计算机视觉工程师类

包括图像算法工程师,图像处理工程师,音/视频处理算法工程师,计算机视觉工程师等。

技术要求:

精通DirectX HLSL和OpenGL GLSL等shader语言,熟悉常见图像处理算法GPU实现及 优化;

语言:精通C/C++;

工具:Matlab数学软件,CUDA运算平台,VTK图像图形开源软件

熟悉OpenCV/OpenGL/Caffe等常用开源库;

有人脸识别,行人检测,视频分析,三维建模,动态跟踪,车识别,目标检测跟踪识别经历的人优先考虑;

熟悉基于GPU的算法设计与优化和并行优化经验者优先;

【音/视频领域】熟悉H.264等视频编解码标准和FFMPEG,熟悉rtmp等流媒体传输协议,熟悉视频和音频解码算法,研究各种多媒体文件格式,GPU加速;

面试题汇总:

· 常用边缘检测有哪些算子,各有什么特性?

· 简述BP神经网络,AdBoost的基本原理?

· 关键字static的作用是什么?

· 简述C,C++程序编译的内存分配情况?

· 给定0-1矩阵,求连通域。

· 写一个函数,求灰度图的直方图。

· 写一个均值滤波(中值滤波)。

· 写出高斯算子,Sobel算子,拉普拉斯算子等,以及它们梯度方向上的区别。

· 常用的特征提取方法。

· 常用的目标检测方法。

· 常用的边缘提取方法。

· 常用的插值方法。

· 常用的图像分割算法。

· 写一个图像resize函数(放大和缩小)。

· 彩色图像、灰度图像、二值图像和索引图像区别?(索引图像到底是啥?)

· 深度学习中目标检测的常用方法,异同。

· 给定摄像头范围和图像大小求分辨率。

· 如何检测图片中的汽车,并识别车型,如果有遮挡怎么办?

· 数字识别的流程。

· 介绍神经网络、SVM、AdaBoost、kNN…(每一个都可能深入问各种细节)

· 写梯度下降代码。

· 卷积神经网络与神经网络的区别。

· 卷积层的作用、pooling层的作用,全连接层的作用。

· 过拟合和欠拟合分别是什么,如何改善。

· 1x1卷积和的作用。

· 计算卷积神经网络某一层参数量。

(二)机器学习工程师

技术要求:

· 熟悉Hadoop/Hive以及Map-Reduce计算模式,熟悉Spark、Shark等尤佳;

· 大数据挖掘;

· 高性能、高并发的机器学习、数据挖掘方法及架构的研发;

面试题汇总:

基础部分:

· 数据结构知识

· 掌握一门编程语言,c/c++/Java/Python

· 机器学习常用算法或者某一细分领域(推荐,自然语言处理,图像识别,语音识别等)的常用算法。

计算机知识部分:

1. 主要是数据结构包括数组,增删链表,树,排序算法等。也可能会有数据库基本语句,操作系统进程和 线程相关的,计算机网络的TCP/IP协议部分)

2. 编程能力: 一到三道在线编程题目

3. 算法能力: 给出一个场景,回答使用什么算法去建模解决

机器学习常用算法:

1. 决策树的ID3,C4.5,CART等,决策树的split原理和剪枝策略

2. 神经网络如何工作

3. SVM的原理及公式推导

4. 朴素贝叶斯的公式

5. Bagging 和 Boosting的区别

6. GBDT的参数怎么调

7. 聚类过程

8. 偏差和方差是什么,高偏差和高方差说明了什么

9. 怎么理解损失函数,SVM的损失函数是什么,写出公式

10. 过拟合怎么解决,L1和L2正则化有什么区别

11. 为什么用最小二乘而不是最小四乘

12. GB和牛顿法的区别,它们和泰勒公式的关系

编程能力:考察熟悉的编程语言的相关知识,编程语言掌握一门即可

java:static的作用,hashmap,arraylist和linklist的区别,多线程

c/c++:实现strstr(判断一个字符串是否是另一个的子串)

python:安装Python的命令是什么,用python读取一个文件,一行一行的输出(不能用库函数),python常用库。

其他面试内容:

· 数据结构算法知识(手写代码)

· 特征工程

· PCA的原理

· 大数据开发能力:Hadoop/Hive/Map Reduce开发

· 深度学习知识

(三)数据挖掘算法工程师类

包括推荐算法工程师,数据挖掘算法工程师等。

技术要求:

· 熟悉常用机器学习和数据挖掘算法,包括但不限于决策树、Kmeans、SVM、线性回归、逻辑回归以及神经网络等算法;

· 熟练使用SQL、Matlab、Python等工具优先;

· 对Hadoop、Spark、Storm等大规模数据存储与运算平台有实践经验【均为分布式计算框架】

· 数学基础要好,如高数,统计学,数据结构

面试题汇总:

1. 你在研究/项目/实习经历中主要用过哪些机器学习/数据挖掘的算法?

2. 你熟悉的机器学习/数据挖掘算法主要有哪些?

3. 你用过哪些机器学习/数据挖掘工具或框架?

4. 无监督和有监督算法的区别?

5. SVM 的推导,特性?多分类怎么处理?

6. LR 的推导,特性?

7. 决策树的特性?

8. SVM、LR、决策树的对比?

9. GBDT 和 决策森林 的区别?

10. 如何判断函数凸或非凸?

11. 解释对偶的概念。

12. 如何进行特征选择?

13. 为什么会产生过拟合,有哪些方法可以预防或克服过拟合?

14. 介绍卷积神经网络,和 DBN 有什么区别?

15. 采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?

16. 用 EM 算法推导解释 Kmeans。

17. 用过哪些聚类算法,解释密度聚类算法。

18. 聚类算法中的距离度量有哪些?

19. 如何进行实体识别?

20. 解释贝叶斯公式和朴素贝叶斯分类

21. 写一个 Hadoop 版本的 wordcount

觉得文章有用欢迎大家转发+评论,获取更多编程干货欢迎大家关注我的头条号~

展开阅读全文

页面更新:2024-03-02

标签:算法   卷积   图像   机器   神经网络   算子   梯度   数据结构   公式   熟悉   区别   常见   作用   工程师   常用   方法   科技   公司

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top