# 机器学习面试

## 机器学习面试

* [返回顶层目录](https://luweikxy.gitbook.io/machine-learning-notes/pages/-LpO5vE88qYwjk5WM_Qf#目录)
* [返回上层目录](/machine-learning-notes/perface.md)
* [机器学习](https://luweikxy.gitbook.io/machine-learning-notes/pages/-M65Rhu53GvLRnM2UPE7#机器学习)
* [深度学习](https://luweikxy.gitbook.io/machine-learning-notes/pages/-M65Rhu53GvLRnM2UPE7#深度学习)
* [代码能力](https://luweikxy.gitbook.io/machine-learning-notes/pages/-M65Rhu53GvLRnM2UPE7#代码能力)
* [工程能力](https://luweikxy.gitbook.io/machine-learning-notes/pages/-M65Rhu53GvLRnM2UPE7#工程能力)

## 机器学习

* SVM和LR的区别和联系
* LR可不可以做非线性分类
* bagging和boosting的区别
* 决策树，GBDT
* 介绍一下xgboost，xgboost和GBDT的区别
* l1正则化和l2正则化
* 如何处理类别不均衡问题
* 如何判断分类器的好坏（分类器的评价指标）
* 介绍Kmeans算法
* 特征工程的方法

## 深度学习

* 防止过拟合的方法，dropout的原理
* 常用的激活函数，sigmoid的缺点，relu的缺点
* 平时用什么优化方法，adam的缺点及解决方法
* 介绍平时调参的经验
* 介绍BatchNorm
* RNN的缺点，LSTM的作用，LSTM和GRU
* 除了LSTM和GRU是否了解其它循环单元
* 如何处理OOV问题
* 介绍word2vec的作用，缺点
* 常用的文本分类方法，优缺点
* 残差网络resnet介绍，解决什么问题
* CNN在图像中1\*1卷积的作用
* 一维卷积的作用
* 介绍transformer，为什么比LSTM好，怎么获取顺序信息
* 介绍BERT，ELMO等

机器学习/深度学习这里，《**百面机器学习**》看两遍就可以了，如果有多余时间可以看一遍西瓜书或者统计学习方法。

## 代码能力

除了机器学习/深度学习水平之外，还要考察工程能力，以及代码编写。代码编写准备的方法比较统一，就是刷题。至少要刷完《剑指offer》的所有以及leetcode的"top interview questions"。需要注意的是写题并不是写对了就可以了，还要尽量保证代码的工整性，以及复杂度、异常处理、边界值等等。

## 工程能力

工程能力就是考察“机器学习工程师”岗位除了“机器学习”的相关能力了。考察的点很多，比如操作系统，线程/进程，编程语言特点等等，这块通常面试算法工程师的同学都比较薄弱，需要多准备。分享几个常考到的：

* 进程/线程的区别，python中怎么实现，谈谈GIL
* python2和python3的区别
* python中浅拷贝和深拷贝
* python的生成器是什么

## 参考资料

* [如何准备机器学习工程师的面试 ？](https://www.zhihu.com/question/23259302/answer/1136153589)

本文主要参考此知乎回答。

\===

[七月在线：一站式刷遍各大互联网公司人工智能笔试面试题](https://www.julyedu.com/question/index?utm_source=zh\&utm_medium=tiku\&utm_campaign=t\&utm_content=ti\&utm_term=ti)

涵盖了所有知识点和课程。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://luweikxy.gitbook.io/machine-learning-notes/interview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
