V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
clarkchen
V2EX  ›  程序员

会 Python 的不会算法,会算法的不会写 Python --大家有这个感觉吗?

  •  
  •   clarkchen · 2018-03-27 16:26:26 +08:00 · 12290 次点击
    这是一个创建于 2193 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近面试有一些感觉,

    名校毕业,精通各类算法,tensorflow, pytorch 如数家珍,面试不会写排序

    实战经验丰富的 CRUD 工程师,连个 Group By 都不会,来应聘机器学习工程师

    想要一个基础扎实的,认真刷刷 LeetCode 和 Kaggle 题的面试者,好难啊

    然后想请教两个问题:

    大家跳槽或者找工作的的时候都在哪里玩儿,拉钩,boss 直聘,v2ex ?

    大家觉的 Python 算法工程师 这个 Title 会有吸引力吗?

    第 1 条附言  ·  2018-03-27 17:33:45 +08:00

    感觉大家好像对这个topic感兴趣,,我顺便贴个招聘连接,

    Python算法工程师

    欢迎吐槽,欢迎提意见

    第 2 条附言  ·  2018-03-27 18:39:17 +08:00
    第 3 条附言  ·  2018-03-27 22:06:49 +08:00

    经过和同事们的交流,还是觉的这种二合一人才,其实是对应聘者有点误导

    我们的部门的确可以让工程人员来进行模型方面的工作,但是绝对不是一上来就做模型,还是要从研发做起

    所以先招工程师吧,谢谢大家给的建议和回复

    闪银-数模组-Python 工程师

    76 条回复    2018-03-28 23:00:52 +08:00
    xiaoxinxiaobai
        1
    xiaoxinxiaobai  
       2018-03-27 16:31:35 +08:00 via Android
    所以需求是什么?基础包括哪些,搞清楚了对应考察就好了吧
    yivanus
        2
    yivanus  
       2018-03-27 16:36:34 +08:00
    找个会 python 的去刷下 leetcode 不就满足了。
    p2pCoder
        3
    p2pCoder  
       2018-03-27 16:37:25 +08:00   ❤️ 2
    python 工程师很不好招
    脚本语言入门简单,很多人不讲究,基本数据结构 都搞不清,就更别说算法了
    反正没有什么不是一个 import 解决不了的

    我昨年一段时间负责爬虫工程师的招聘,一个月,面试几十个,没招到一个

    如果要招算法工程师,语言不是很重要,python 和各种 package 以及机器学习框架,比算法优先级低很多
    iEverX
        4
    iEverX  
       2018-03-27 16:39:31 +08:00 via Android
    算法和工程差别会越来越大,就跟软硬件工程师一样
    takato
        5
    takato  
       2018-03-27 16:39:55 +08:00   ❤️ 1
    问题同#1
    楼主可能对专家特征比较执着。观察过市场上的从业者,2000+年后的基本如此,怀疑和学术思潮有关。

    在目前 DL 可以完胜人工专家特征的情况下。。。为什么还对专家特征如此执着?目前机器学习应该是联结主义的天下。
    UIXX
        6
    UIXX  
       2018-03-27 16:48:16 +08:00   ❤️ 2
    这不就是专业分化的趋势吗?搞理论的跟搞工程的逐渐分成两拨人。
    Python 市面上的调包侠多得是,但是不一定能力就差,做工程一样是能手。主要还是取决于楼主的需求。
    Rorysky
        7
    Rorysky  
       2018-03-27 16:56:31 +08:00
    写业务代码的,和作算法研究应用的当然是不同的人呀
    lzhCoooder
        8
    lzhCoooder  
       2018-03-27 16:58:18 +08:00
    python 太网红了,直接导致不合格的 python 程序员太多,调过几个包看过几本算法理论书就自称 python+机器学习,然而最基础的数据结构关很多人都不重视
    oska874
        9
    oska874  
       2018-03-27 16:59:48 +08:00
    搞算法的不都 matlab 吗?
    saggit
        10
    saggit  
       2018-03-27 16:59:49 +08:00
    “帅的男人没有钱, 有钱的男人不帅, 又帅又有钱的男人却靠不住” 所以只能是: “虽然我没有车,虽然我没有房,但是我......”
    aaronzjw
        11
    aaronzjw  
       2018-03-27 17:01:04 +08:00
    没有问题是 import 不能解决的,如果有,就再 import 一次。 -- 调包侠
    clarkchen
        12
    clarkchen  
    OP
       2018-03-27 17:24:11 +08:00
    @xiaoxinxiaobai 想招一个懂机器学习的研发,,所以面试的时候,两边的基础都会考察一下
    clarkchen
        13
    clarkchen  
    OP
       2018-03-27 17:25:40 +08:00
    @yivanus 嗯嗯,遇不上啊,拉钩职位挂了半个月,,,我最后的面试方法是,我靠的是 leetcode 这道题,你查 10 分钟再写一下,,,
    clarkchen
        14
    clarkchen  
    OP
       2018-03-27 17:30:21 +08:00   ❤️ 1
    @iEverX 最适合的人选是本身是有经验的 Pyhon 开发,想往算法方面转,而且还自己向前走了一段,比如认真刷了几个月 Kaggle 题这种
    yivanus
        15
    yivanus  
       2018-03-27 17:34:13 +08:00
    现在别人学 python 也怕找不到工作的。别人都说拉勾一百年匹配不上。换个地方试试吧。
    clarkchen
        16
    clarkchen  
    OP
       2018-03-27 17:36:27 +08:00
    @takato 我在的公司 是 fintech 方面的,DL 在图像语音这些方面的确完胜人工,

    但是在面临不同的场景的时候,其实人还是更有优势的,需要真对场景提出不同特征和模型
    yivanus
        17
    yivanus  
       2018-03-27 17:39:48 +08:00
    团队由 4 名经验丰富的 90 后工程师组成,各个都是独挡一面的大拿。

    都是大拿了,相信对他们来说简单说下你要求的这些东西应该很快搞定的了。
    p2pCoder
        18
    p2pCoder  
       2018-03-27 17:42:21 +08:00
    @clarkchen 你这个还是招 python 服务开发和机器学习开发,两个分开,就好搞了,你这招聘要求多了
    我们公司研发部门也就三百来人
    做算法的是做算法的
    大数据是大数据
    我这种 java 出生的爬虫工程师导师经常开发小型 python 服务,用来部署一些机器学习模型(如贷款评分卡)
    takato
        19
    takato  
       2018-03-27 17:42:56 +08:00
    @clarkchen 如果用 Xception 的思路的话,把人的判断作为模型的特征量或许可行。但其实也是把人当成传感器使了。。。
    enenaaa
        20
    enenaaa  
       2018-03-27 17:43:35 +08:00
    这是用一个人的钱干两个人的活。 当然难招了。
    clarkchen
        21
    clarkchen  
    OP
       2018-03-27 17:44:07 +08:00
    @UIXX,,哈哈调包侠,,,

    专业分工这个是真的,但是其实程序员更熟悉业务,其实慢慢是可以朝着数据科学家发展的,现在只是太缺人了,所以硬生生改成两拨人了

    ,,,,工程能力好的调包侠,,,感觉就是大熊猫
    zbl430
        22
    zbl430  
       2018-03-27 17:46:45 +08:00
    @p2pCoder 看来, 你需要我
    clearbug
        23
    clearbug  
       2018-03-27 17:49:14 +08:00 via Android
    看标题,感觉这估计是 py 在历史上被黑的最惨的一次
    lance6716276
        24
    lance6716276  
       2018-03-27 17:49:17 +08:00 via Android
    可惜我还没毕业…给我留下了市场很需要我的幻想
    clarkchen
        25
    clarkchen  
    OP
       2018-03-27 17:52:51 +08:00
    @p2pCoder

    尝试过分开招,但是跟大厂一个招聘策略的话,那就注定我们这种中小场,开发和算法都 找不到比较好的人,很多时候就是人家过来拿个 offer 当个跳板。

    最后留下混的好是那种有经验的开发,然后想转机器学习的开发,这样的人自驱能力比较强
    clarkchen
        26
    clarkchen  
    OP
       2018-03-27 17:56:57 +08:00
    @yivanus,单做现在的业务,其实我们都能远程办公了,但是比如别人的团队都在成长,我们团队规模没上来,新机会抓不住
    realpg
        27
    realpg  
       2018-03-27 17:59:53 +08:00
    @clarkchen #25
    我觉得你还是给的不够
    cuebyte
        28
    cuebyte  
       2018-03-27 18:02:21 +08:00
    應該有不少研發工程師有憑自己興趣玩過一些機器學習,嘗試一下這部分人群吧。
    takato
        29
    takato  
       2018-03-27 18:03:02 +08:00
    @cuebyte 的确如此,很多人以此为生并保持学习。
    owenliang
        30
    owenliang  
       2018-03-27 18:03:16 +08:00
    这标题太 6 了...

    这俩压根没关系好吗。。
    clarkchen
        31
    clarkchen  
    OP
       2018-03-27 18:11:48 +08:00 via iPhone
    @owenliang 可以理解为工程能力吧。。
    WinMain
        32
    WinMain  
       2018-03-27 18:20:14 +08:00
    看到这个标题,我就知道说的是我这种人,前两年做 java,python 高并发后台,最近两年转行做机器学习,哈哈,看到身边的纯算法同事各种代码看不懂我就表示很欣慰。
    fanhaipeng0403
        33
    fanhaipeng0403  
       2018-03-27 18:20:19 +08:00
    @clarkchen 你好 我对这个职位很感兴趣, 有邮箱投递简历么?
    clarkchen
        34
    clarkchen  
    OP
       2018-03-27 18:22:57 +08:00 via iPhone
    janxin
        35
    janxin  
       2018-03-27 18:26:31 +08:00
    确实很多搞学术的代码写的太烂了

    对他们来说,能用就行了,工程不是重点方向。
    clarkchen
        36
    clarkchen  
    OP
       2018-03-27 18:27:46 +08:00 via iPhone
    @WinMain 真的啊,做的好的研发,转算法成本很低,安心干两年业务,熟悉了流程其实发展很好
    niubee1
        37
    niubee1  
       2018-03-27 18:31:04 +08:00
    国内能顺溜的把冒泡写完整了的所谓"程序员"都少, 所以到处缺人呢, 人力紧缺啊, 这种档次的只能叫人肉
    scp055
        38
    scp055  
       2018-03-27 18:31:45 +08:00
    leetcode 刷过,python 搞过机器学习,但是没用 python 开发过项目,应该不满足楼主的要求了,1-3 年后不知道能不能达到,想请教下这个岗位的薪资 在多少范围(北京)?
    clarkchen
        39
    clarkchen  
    OP
       2018-03-27 18:33:09 +08:00 via iPhone
    @scp055 如果是初级,其实比较合理的是 18k 左右,可以简历发来看看
    clarkchen
        40
    clarkchen  
    OP
       2018-03-27 18:41:01 +08:00
    @cuebyte 嗯嗯,这部分人好难找啊,,,所以想问问这些人一般在哪里混,,,
    fanhaipeng0403
        41
    fanhaipeng0403  
       2018-03-27 18:43:47 +08:00
    @clarkchen 简历发过去了 请查收 ^_^ , 我之前主要做 BI 数据分析平台和推广方面的, 也能写点前端, 对你的这个职位方向很感兴趣
    airqj
        42
    airqj  
       2018-03-27 18:47:27 +08:00 via Android
    最近找这方面的工作
    可惜楼主在北京
    SouthCityCowBoy
        43
    SouthCityCowBoy  
       2018-03-27 19:45:18 +08:00
    会算法的不会 php,会 php 的不会算法
    clarkchen
        44
    clarkchen  
    OP
       2018-03-27 19:48:14 +08:00
    @fanhaipeng0403 挺好哒,已经让 HR 约了
    joeke
        45
    joeke  
       2018-03-27 19:49:30 +08:00
    @SouthCityCowBoy 哈哈,这个命题是真的
    scp055
        46
    scp055  
       2018-03-27 20:04:02 +08:00
    @clarkchen 感谢回复,还没毕业,简历就不献丑了,祝早点找到合适的人。
    Keyes
        47
    Keyes  
       2018-03-27 20:15:05 +08:00 via iPhone
    认识的算法大牛都去玩 c++了,你让他们用 py 写业务?不可能的😂
    airqj
        48
    airqj  
       2018-03-27 20:28:38 +08:00 via Android
    @Keyes 基本都是 py 原型验证 上线的时候再用 c++重写吧
    会 C 之类的 py 就是一脚本语言 边看文档边写就够了
    ubear1991
        49
    ubear1991  
       2018-03-27 22:57:50 +08:00
    @clarkchen

    比较有意思,感觉我符合你的这个工程+算法的标准,不过暂时没想过要跳
    diggerdu
        50
    diggerdu  
       2018-03-27 23:09:24 +08:00
    刷了 kaggle 也不还是调包
    GtDzx
        51
    GtDzx  
       2018-03-27 23:12:31 +08:00
    @clarkchen [hihoCoder Offer 收割赛]( https://hihocoder.com/contest/offers52) 了解一下?
    mingyun
        52
    mingyun  
       2018-03-27 23:42:53 +08:00
    @aaronzjw 哈哈
    likuku
        53
    likuku  
       2018-03-27 23:57:44 +08:00
    看了 JD,还是有需求混淆的问题...

    作风控和数学模型,这本身已经是个单独的岗位了,数学统计专业最佳,有金融和风控行业更棒(这个薪资水准嘛,招不到的)。

    还想同时满足一线去写业务系统代码,招人更难。

    相关 python 代码实现,得另外找个 有风控系统相关经验(没有也问题不大)的 python 码工就行了
    likuku
        54
    likuku  
       2018-03-27 23:59:50 +08:00
    #53 补充,是看的 “闪银-数模组”
    stop9125
        55
    stop9125  
       2018-03-28 00:11:15 +08:00 via iPhone
    今天在 boss 上刚刚刷到这家公司。就来 v2 上看到了
    takato
        56
    takato  
       2018-03-28 00:31:39 +08:00
    这要求发散下去就差手写汇编了。。
    menc
        57
    menc  
       2018-03-28 02:38:21 +08:00
    @clarkchen

    这样的人一般都在薪资更多体量更大的公司混。
    vegito2002
        58
    vegito2002  
       2018-03-28 02:54:02 +08:00 via iPad
    Stefan Pochmann 了解一下
    xnth97
        59
    xnth97  
       2018-03-28 05:22:46 +08:00
    我个人刷题都是用 Python 的...搞 CV 有时候也需要实现一些 tricky 的算法,而且很多人都是这样,所以我觉得不成立
    cyril4free
        60
    cyril4free  
       2018-03-28 08:35:03 +08:00
    看了此贴,坚定了继续一面开发一面搞一下算法的决心。。。但是真的很累啊。。。
    yanzixuan
        61
    yanzixuan  
       2018-03-28 08:57:39 +08:00
    @p2pCoder 按照 v2 的论调,爬虫没难度是个人都能搞啊。
    chu8129
        62
    chu8129  
       2018-03-28 09:04:51 +08:00
    这么说吧,去微博微信上面搜一下,xx 小时学会 py,xx 小时学会爬虫、xx 万数据爬虫、xx 分钟建立模型;无力吐槽;爬虫隔一天重发一次,n 年前的,除了给网站增加压力不知道还有什么效果。。。哦对刚想起来,培训机构出来的都很“屌”

    再者 py,偏重工程实现效率,所以都是直接 import 大法了;数挖熟悉的不是经典算法;
    chu8129
        63
    chu8129  
       2018-03-28 09:07:08 +08:00
    如果 group by 都不会,那就。。。(想起前同事吐槽他现在的公司的港中高材生不会安装 py。。。)
    tonic
        64
    tonic  
       2018-03-28 09:15:44 +08:00
    现在的机器学习难道不是调参数工程师么?
    只能说... 现在几乎没啥脑力劳动的编程了, 基本都是体力活儿.
    熟练了的人根本不需要过脑子了, 不熟练的人可能对着文档搞搞也出来了, 也没有过多少脑子 - -!!
    没有要 AOE 的意思啦, 大部分程序员工作其实都是这样啊...
    ftdejo
        65
    ftdejo  
       2018-03-28 09:44:33 +08:00
    算法一般会出到 LEETCODE 什么难度的。。如果是 HARD 的而且没做过的,估计没把握在半个小时的面试里面手写出来还能 debug 过··
    smallHao
        66
    smallHao  
       2018-03-28 09:48:42 +08:00
    我见过算法好的 任意图灵完备的语言都玩得转 说到底语言只是表达方式而已
    fanhaipeng0403
        67
    fanhaipeng0403  
       2018-03-28 09:54:52 +08:00
    @tonic agreed
    jyf
        68
    jyf  
       2018-03-28 10:00:19 +08:00
    确实如此 不过现在 mit 也有两本书是用 python 来讲 CS 和数据结构的 只是出得有点晚 可能过几年就不同了
    baday
        69
    baday  
       2018-03-28 10:08:47 +08:00
    我会写排序可是我找不到工作啊,hhh
    xiaoxinxiaobai
        70
    xiaoxinxiaobai  
       2018-03-28 10:11:31 +08:00 via Android
    忽然发现原来去面试过😂
    Rubbly
        71
    Rubbly  
       2018-03-28 10:26:44 +08:00
    这方面搞得好的都去大厂或者高知名度例如商汤之类的公司了,楼主组内没有知名大牛,职位描述吸引力也不是很大。
    顺便问一句,面试的人里面,有在 CVPR/ICCV/ECCV/NIPS 等顶级会议里发过期刊的吗,如果这些人连简单的算法题都不会做,那楼上许多 AOE 才成立,毕竟这些人才是真正的机器学习实践者 :)
    uoryon
        72
    uoryon  
       2018-03-28 10:36:40 +08:00
    厉害。

    话说你们是只考虑一直写 Python 的吗?像有的工程师可能并不专注于某一种语言。
    业务强 + Python 强,感觉已经筛掉了很多人。不妨直接招业务极强并且有往你们方向上靠的意愿的工程师,然后开始培养。
    YRodT
        73
    YRodT  
       2018-03-28 12:26:04 +08:00 via Android
    既要能做 python web service 工程能力强,又要懂算法 xgboost、人工智障玩的 6,那么问题来了,这样的人会满足 18k-36k 吗?
    hdhuang
        74
    hdhuang  
       2018-03-28 13:16:54 +08:00
    我倒是发了简历,完全没人鸟我 。。。。 可能我还是太 low 了吧
    vincenttone
        75
    vincenttone  
       2018-03-28 14:13:00 +08:00
    感觉搞算法的话,不懂 python 也可以理解,用 c 写个包给 py 调用就可以了吧。
    xpresslink
        76
    xpresslink  
       2018-03-28 23:00:52 +08:00
    你见过哪 AI 包是 python 写的?还不都是 C++,连 java 都少,因为性能。
    算法确实用任何一门通用编程语言都可以描述。
    问题是 py 是个以包多省事儿慢得出翔的胶水脚本语言。

    python 算法工程师听起来简直就跟清纯的岛国动作片女演员一样。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5310 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:30 · PVG 17:30 · LAX 02:30 · JFK 05:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.