这个仓库主要用来对计算机学科的基础理论知识和主流编程语言相关内容进行总结,每个目录对应一个大的方向。
主要包含的计算机基础有以下几个大方向:
- Coding:一些 C++ 的代码
- OnlineJudge:一些 OJ 的解题代码
- Offer:主要分享一些和找工作相关的内容
- Others:一些无法归类,但是可能有用的东西
最后,Questions 文件列出了一些重要的知识点,可以用来自检,看看自己有没有遗漏一些重要知识点。
对于深度学习最基本的知识,可以看GitHub上”深度学习500问“的repo,相对来说还是比较全面的:
深度学习500问, 全书分为18个章节,以问答形式对常用的概率知识、线性代数、机器学习、深度学习、计算机视觉等热点问题进行阐述,以帮助自己及有需要的读者。 深度学习500问
还有牛客上的一个算法/机器学习校招面试合集,这里面感觉有用的蛮多: 算法/机器学习校招面试题目合集_牛客网
Batch Normalization讲解比较全面的一个链接: 深入理解Batch Normalization批标准化
一些常见的聚类算法: 2.3 聚类 - sklearn中文文档
一、线性回归和逻辑回归_呆呆的猫的博客-CSDN博客_线性回归和逻辑回归
同时,我还收集了一些其他的比较有用的知识汇总,但是我本人没怎么看过:
GitHub - amusi/Deep-Learning-Interview-Book: 深度学习面试宝典(含数学、机器学习、深度学习、计算机视觉、自然语言处理和SLAM等方向)
总的来说,深度学习相关的基础知识需要多看,多做笔记,建议大家用一个做笔记的软件,比如有道云笔记、印象笔记等,把自己看到的好的文章总结,整理到自己的笔记里面,加强记忆,并且方便以后查看。
我刷题都是用C++,所以说下面推荐的链接大部分都是和C++相关。
Leetcode题目详解(C++版):LeetCode All in One 题目讲解汇总(持续更新中...), 常见算法题目汇总,这个labuladong博主写的超赞!
通过详细的图形展示算法流程:算法编程实践讲解
算法视频精讲:左神出品
背包问题总结,讲解的很全面了:背包问题个人总结 - suml - 博客园
leetcode解法的参考代码:LeetCode solutions with Chinese explanation & Summary of classic algorithms. GitHub - ShusenTang/LeetCode
总的来说,刷题是必须的,厂子越大要求写题的可能性越大,Leetcode和剑指offer搞起来,刷的题目越多,你对算法的恐惧感越小。Leetcode刷起来,每天坚持打卡1-3题,保持写代码的手感。 同时建议大家对每一道题目做笔记,进行总结。盲目刷题不行,要学会归纳总结。
作为一个深度学习算法工程师,概率题在面试过程中肯定会有的,尤其是字节和快手这两个公司,最喜欢问一些与概率、智力等相关的题目,所以说还需要大概准备一下。 首先强推牛客上总结的概率题目汇总,每道题目都仔细做一下,大概率在面试的时候会遇到。如果时间紧,只看这个也差不多够了: 面试概率题搜罗_笔经面经_牛客网
下面这两个链接是提升型,看完之后基本上所有的概率题都能cover住了: 概率论重点题型总结 《概率论与数理统计》典型例题
作为深度学习算法工程师的话,最基础的概率问题也是需要知道的。针对典型问题花点时间总结,面试中常见的概率题也就那几种形式,不会很难。
有的面试官喜欢问一些编程语言相关的基础知识,尤其是C++。当你熟悉C++的时候,会给你的面试结果加分的。所以说,建议大家也大概看一下与编程语言相关的常见问题:
Python常见问题汇总: 必须准备的100个Python面试问题
365道面试题_weixin_30662011的博客-CSDN博客
C++常见问题汇总: GitHub - huihut/interview: C/C++ 技术面试基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。
最起码python中常见的知识点需要知道,然后C++中与类相关的概念需要清楚,这样子面试官问的大部分问题都能cover住了。 大家可以在Issue 里列出一些感兴趣的问题,或者去认领 Issue,提交 Pull Request.