0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样才算成为一名合格的算法工程师

工程师人生 来源:网络整理 作者:工程师吴畏 2018-10-16 11:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一,Q&A部分:

1.一个特征分析的例子。。。(听不懂)

2. 还是一个机器学习的例子,(听不懂)大致,降低复杂度。

3. 传统算法合格的标准,Leetcode(简单,中等毫无压力,hard难度有一定时间思考可以解决)

4. Machine Learning算法基础,数学基础(统计学,微积分,线性代数,离散数学)

5. 数据挖掘相关的竞赛

ACM没太大帮助,仅仅针对传统算法, 针对数据挖掘的竞赛:Kagle, KDD数据挖掘)

6. 算法工程师需要博士么?

live主只有本科学历,和基础知识。

(硕士比较有必要 因为面试结果好于本科,也就是认可度较高)

7. 高维空间xxx相关的问题(还是听不懂)

8. 基础烂的人,如何学习算法?

(花时间去补基础,锻炼自己独立学习独立解决问题的能力)

9. 数据挖掘要学spark?

Live主认为python足够。

10. 合格的算法工程师需要的数学基础?

后续另外一个部分介绍

11. 怎样练习算法?指传统的算法和数据结构

1)以模块化形式 针对训练。例如学习图轮,相对于刷图论相关的题目

学习动态规划,刷动态规划相关的题目。

(根据模块学习和训练)

2)leetcode 随机刷题。自己想方案来解决

(根据实际问题选择算法解决问题)

12. 有一定高数基础和机器学习的基础概念,如何实际训练

Kaggle 和KDD 训练,

尝试写爬虫自己挖掘数据进行研究。

13. 应用数学/统计专业如何转型算法

1)学习写代码。例如python

2)稳固统计学,并学习机器学习相关的知识。

14. 数据挖掘工程师,有必要深入研究传统算法,例如算法导论么?

还是重点关注学习,统计等算法呢?

作者认为没有必要。

传统算法(算法导论)偏向系统工程方面。

数据挖掘便向统计方面。

15. 本科生非ACMER 需要什么程度才算算法合格?

作者前面说的Leetcode初级,中级无压力。高级题花时间能研究出来。

16. 算法工程师和数据 data scientist的区别

在中小企业是不做区分的。

很大的公司中会有区别。

例如算法工程师提供更底层的模块

数据挖掘工程师更偏向于业务。

17. 算法工程师的编程能力要达到什么水平?

如果不做系统级的开发对编程能力要求并不高。

系统开发,比如分布式计算,并行计算。对编程要求就高很多。

18. 传统数据结构和算法是否对于机器学习有必要?体现在什么地方?

类比参加高考的数理化训练。训练思维的方式,思考方式和基础。

传统数据结构算法接触大量计算机的解决问题的思维。

机器学习中会用到传统数据结构算法,例如图论,动态规划。

字典树,自动机等等。

---------------------------

二,正文大纲:

如何成为当下合格的算法工程师

1. 定义算法工程师

2. 所需内功和外公

3. 不可替代性和成长性

4. 如何快速成长

5. 算法岗面经

6. 量化合格的标准

1. 什么是算法工程师:

从个大招聘网站的算法岗JD开始

主流应用:音频,视频,图,像数据挖掘,搜索

技术核心:机器学习

未来:人工智能

(live主认为机器学习未必是实现人工智能的唯一方式,

万一有人脑的API,那么机器学习热潮可能会退去)

live主分析了一份阿里的JD

涵盖了主流机器学习的应用和方向

C/C++要求。上手python java快。也能造轮子

(同时说明部门老大技术应该很牛,有可能上升的空间就较小)

分析一份百度的JD

C/C++要求,分布式计算,自然语言处理。JD描述看似简单

往往需要讲出自己非常牛的项目经历。

词云图:广告(DSP

java/C++/Python

数学

硕士

2. 内功和外功

1)内功

统计学

线性代数

微积分

算法和数据结构

机器学习模型

特征工程

自然语言处理

分布式计算

。..

2) 外功

C/C++/java

Pyton/R/Matlab

Hadoop/Hive

Spark/Mlib

/Mahout/Tensorflow/Caff

SASS/SPSS

Weka/Stat

MySQL/HBase/MongoDB

。..

live主认为高效的方法是先学会如何用,然后在学习如何用好。

也就是先学习外功,再慢慢弥补内功。

如果只专注内功而忽略外功,很容易成为理论家,而不会实际应用。

数学基础:

机器学习,统计学习符号,能够看懂技术书籍上的推导证明

参考学习路线图。

(1,2,3,4,5)完成5条路线可以胜任大部分的应用。

3. 算法工程师不可代替性

1)非增删改查开发接口等体力活

2)大脑价值大于代码价值

3)技术业务两手抓,容易成为项目核心

4)行业热点,不懂技术的老板也知道大数据重要

5)如何量化不可代替性,工作交接时间长

成长性高

待遇高,5年以后薪资成长迅猛

有机会接触到更多IT大牛

大多数ACM获奖的应届生选择算法岗位

挑战性极强,工作难度大

会随着大数据热潮变得抢手

4. 如何快速成长

1)从外功入手,兼顾内功修炼

《集体智慧编程》+《统计基本方法》

所见即所得,有实际反馈。

2)这是工科,不是理科,因此需要更多实际项目的训练

LeetCode + Kaggle

需要更多练习,接近实际的练习。

leetcode训练传统算法

Kaggle数据挖掘竞赛(特征工程,大于学习模型本身的重要性)

3) 训练自己快速阅读paper的能力

ICML NIPS AAAI CVPR等

机器学习相关的期刊的名称。

比如深度学习,可以通过期刊了解到新等模型体系,可以有针对性的做一些学习。

5.算法岗面经

C/C++

1.白板编程:反转二叉树,单链表中删除特定值的节点。

2.Vector空间的增长方式,容器是否线程安全,map的时间空间复杂度,allocator原理,string内存分配。

3.父类和子类中构造函数以及析构函数调用顺序

4.引用和指针的区别,右值引用的特点以及应用场景(移动构造函数),性能提升原因

5.解释深拷贝和浅拷贝并说明应用场景 (自定义拷贝构造函数)

6.C++的优势与劣势,如何看待C++中繁多的特性

C++11 和C++14标准

算法与数据结构

1. 分治,快排思想:求第k大数(中位数)

2. 堆,优先队列:找出出现最多的top100个值

3. 动态规划:数字金字塔,求两个字符串的编辑举例,最长不下降子序列

4. 并查集:求好友圈个数,注意路径压缩优化

5. 线段树,树状数组: 区间更新和查询

6. KMP,AC自动机:海量字符串检索比较

Python

1. 数据分析:numpy,scipy,sklearn, pandas, matplotlib

2. 爬虫: requests, urllib, scrpay, beautifulsoup, selenium, 中文编码

3. 白板编程:重新实现filter, map, reduce, 反转二叉树

4. Python的优势与劣势,分析为何GIL带来影响。如何解决

如果是初入门可以看廖雪峰的博客进行学习,否则看官方文档。

统计学:

1. 量化统计模型结果好坏(准确,召回,ROC,AUC, F1-Measure)

2. 样本于理论推测的偏差:卡方检验 X^2 = sigma ((A-T)^2/T)

3. 比较两个变量波动性 变异系数 CV = sigma(x) / E(x) = STD(x) / AVG(x)

4. 正态分布N(u, keshi^2) 如何检验正态分布

阅读课本。

数据挖掘:

1. 介绍Logistics Regression, Random Forest, GBDT并分析其优缺点

2. 阐述L1和L2正则项并做比较

3. 如何解决推荐系统冷启动问题

*4. 特征工程:可用性评估,采样,无量纲化, PCA/LDA, 衍生变量

5. 各个模型的损失函,数牛顿学习法,SGD如何训练

6. 如何生产标签并构造用户画像(word2vec, kmeans, LDA, TF-IDF)

【live主认为特征工程是最重要的】

量化合格标准

语言:C++/Java/Python

能使用擅长的语言造轮子,写爬虫,数据分析和挖掘

算法和数据结构:以独立完成Leetcode为佳

(poj, zoj训练)

统计:熟悉基本统计方,法要有自己完整的统计体系。

指标分析-》提出猜想-》验证-》结论-》模型

机器学习:熟悉常见模型和特征工程方法

同样要有自己完整的特征工程体系,对模型优劣有基础认识,

以纯手工实现逻辑回归为佳

一些学习资料

美团点评技术 - 《机器学习中的数据清洗与特征处理综述》 http://tech.meituan.com/machinelearning-data-feature-process.html

使 sklearn做特征 程 http://blog.csdn.net/xw_classmate/article/details/51331787

Max Kuhn / Kjell Johnson - Applied Predictive Modeling

Trevor Hastie / Robert Tibshirani / Jerome Friedman - Elements of Statistical Learning

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1600

    浏览量

    70655
  • 算法
    +关注

    关注

    23

    文章

    4761

    浏览量

    97147
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    作为一名PCB质检工程师,我为什么在用手持式面铜测试仪?

    在PCB行业,铜厚直是决定阻抗、散热与可靠性的关键指标。过去,工程师把板子搬到实验室、等待台式铜厚仪出结果;作为一名PCB质检工程师,如今,我更愿意把“实验室”揣进口袋——手持式面铜
    发表于 08-11 11:59

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    如何成为一名合格的KaihongOS南向驱动开发工程师

    如何成为一名合格的南向驱动开发工程师 1. 我需要具备哪些方面的知识? KaihongOS南向适配的方向分为:驱动开发、内核开发。根据适配方向划分,需要掌握的知识技能分别为: 驱动
    发表于 04-23 08:02

    如何成为一名合格的KaihongOS北向应用开发工程师

    如何成为一名合格的北向应用开发工程师 在快速发展的软件开发领域,北向应用开发工程师个专注于
    发表于 04-23 06:46

    如何成为一名嵌入式软件工程师

    如何成为一名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言
    发表于 04-15 14:37

    招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    如何成为嵌入式开发工程师

    ,参加相关的研讨会和培训课程,阅读专业书籍和论文。 9. 认证和网络:- 考虑获取相关认证,这可以增加你的市场竞争力。- 加入专业组织和在线社区,扩展你的人际网络。 通过上述步骤的学习和实践,你可以逐步成长为一名合格的嵌入式开发工程师
    发表于 02-19 10:39

    月薪 3 万的嵌入式工程师都在用,串口屏到底神在哪?

    作为一名资深的嵌入式工程师,我深知在选择硬件组件时,性能、可靠性、易用性和成本效益都是至关重要的考量因素。月薪3万的嵌入式工程师们之所以倾向于使用串口屏,主要是基于以下几个方面的考量
    的头像 发表于 02-12 10:33 954次阅读
    月薪 3 万的嵌入式<b class='flag-5'>工程师</b>都在用,串口屏到底神在哪?

    如何成为一名合格的南向驱动开发工程师

    内核开发 - c,cmake,dts, linux常用命令 以上,如能对某模块的南向适配研究透彻,自行调通,积极解决问题。那么对一名kaihongOS的南向驱动开发工程师而言,他便是
    发表于 01-10 10:06

    如何成为一名合格的北向应用开发工程师

    在快速发展的软件开发领域,北向应用开发工程师个专注于系统级应用开发的高需求职位。 以下是成为一名合格的KaihongOS北向应用开发
    发表于 01-10 10:00

    为什么嵌入式驱动开发工程师可以拿高薪?

    技术领域具有不可替代的地位。 成为一名优秀的嵌入式驱动工程师只需要深耕以下几点: 1)坚实的技术基础: 首先,需要有坚实的基础,包括计算机组成原理、微处理器与微控制器架构以及电路设计与硬件接口知识
    发表于 01-07 16:56

    GpuGeek云平台正式上线,专注AI算法工程师需求

    近日,备受瞩目的Gpugeek云平台于1月6日正式亮相并投入使用。该平台是个专为算法工程师量身打造的AI基础设施平台,致力于为用户提供全方位、站式的GPU
    的头像 发表于 01-07 10:40 1258次阅读