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

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

3天内不再提示

程序员需要学习算法吗

工程师人生 来源:wv 作者:简书网 2019-09-09 09:43 次阅读

前言

现在由于互联网时代的到来,越来越多的人去学习互联网开发,成为程序员大军中的一员。也正是因为程序员大军中人数众多,导致了现在对于技术人员的要求也越来越高了。技术不断的更新变化,因此技术人员也每年都在跟着时代不断的学习。今天移动开发火热,一群人去学习AndroidiOS开发,明天人工智能火热又一群人去学习Python、人工智能技术。但是很多时候,我们在学习完成了一门技术之后去面试找工作,一些公司在面试的时候往往需要考察算法知识。但是很多技术人员都知道,其实在工作中算法知识用的其实很少很少,那么就产生了一个疑问,作为一名程序员,数据结构和算法知识到底有没有必要去学习?

首先回答你,如果是一般岗位其实不用;如果是进BAT这种大公司,是需要会但是不用特别精通,如果是去国外加入Google、Facebook这种公司或者想拿高薪作为一名算法工程师拿就必须精通。下面我对这三种说法结合自身来分别说下。

一般型中小公司

对于小公司或者一般的公司来说,其实按照我的说法是不仅不需要精通,甚至可以说你完全无知也没关系。因为小公司或者一般的公司入门门槛低,不要说算法了,就算是面试官可能都不太懂技术,他主要面试的是人,也就是看人,觉得你合适就来,而且真正牛逼的人根本就不是靠小公司走招聘市场招来的,大牛一般都是靠挖来的。而且在一般的小公司都是专注去写业务逻辑代码,很多公司只需要你实现了这个功能就OK,对于代码编写规范或者时间空间复杂度等最优实现根本就不会去管你。所以你在这里面其实会不会算法都没有任何必要,会算法不会为你加分,不会算法也不会为你减分。

BAT

如果你是一个有追求的程序员,不甘心满足天天在小公司待着,而是想去BAT或者TMD这种大型公司或者超级独角兽公司的话,那算法是绝对绕不开的一个话题。就拿本人还有周围去面试过大公司的朋友来举例子。BAT面试全都要涉及到算法。腾讯我去面试过,在二面挂了,一面和二面其实都有算法题目,一面相对而言简单一些,二面的算法就有难度了。而我有一个朋友,拿到了腾讯和阿里的offer,他回来说腾讯五轮面试中有一轮面试是专门考察算法,总共六道算法题目给了你两个小时时间作答。阿里的电话面试里面也有一轮视频面试专门考察算法,也是当着他们的面手写算法。光讲思路在腾讯行不通的。本人曾面对腾讯的题目跟面试官说我谈谈思路吧,面试官直接怼回来说不要谈什么思路,直接写出来给我看,平时怎么敲代码现在就怎么写出来。可见对待算法完全没有任何商量的余地。至于头条公司那就更是如此了,因为头条就是一家以算法驱动的公司,对算法要求也比较高。但是即便如此,BAT对待算法还远达不到称之为精通的地步。

硅谷形公司——Google、Facebook

其实最凶残的公司是硅谷这些公司,例如Google和Facebook这类的公司。他们面试你问的全是算法,从来不会去问你专业知识,而且他们的算法问的是超级难得地步。只要你通过了Google、Facebook公司的算法面试,那么你进入公司想做什么技术岗位都可以。比如,你一个从来没学过Android的人,只要通过了他们面试,进去做Android也完全没问题。因为在老外眼里,算法是非常难得东西,你连这么难的东西还能通过他们的面试,那么其他的编程知识进去给你时间学也能够马上学会。所以你想通过他们Google和Facebook的面试,那么算法确实要达到精通的地步,如果只是初级水平可能只有进去参观的份了。而不管时代如何变,算法工程师永远是市面上的稀缺物种,稀缺就代表值钱,所以学好编程不如学好算法,语言只是编程工具,算法才是编程之魂!

如果需要去面试考察算法的,这里可以推荐一般本书《剑指offer》,这本书基本上涵盖了国内所有公司面试考察的算法题目,只要把这本书上的代码敲一遍,相信在算法领域面试基本应该没啥问题。或者想要动手操作的话也可以去LeetCode上刷刷题目,在练习当中才能有所提高和进步!

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

    关注

    4

    文章

    931

    浏览量

    29572
收藏 人收藏

    评论

    相关推荐

    薪资高、青春饭,是不是程序员=青楼?

    进入裁员阶段。所以我们程序员要做的只能是与时俱进。 适者生存,程序员亦是如此 顺应时代发展,是我们必须跟紧的。就好比技术更迭我们就要学习更新。而现在我们程序员最好的赛道出路在哪? 目前
    发表于 03-06 21:32

    感觉我国的程序员前景一片灰暗,是这样吗?

    程序员也分为好几等,在现在看来大部分的Android、Java、前端等等开发。已经看不到希望了,很多人都在边缘挣扎;刚看到一位Android开发者,过完年回公司就通知被裁;可见每年都会有很多互联网
    发表于 02-20 20:52

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    。 如何正确看待鸿蒙? 我作为程序员来说,首先是看鸿蒙的发展、市场开发岗位、薪资以及前景。 这几年对鸿蒙的发展情况来分析,从2019年开始鸿蒙的出来今天,华为鸿蒙取得了很大的成就。从“不兼容
    发表于 01-16 22:13

    程序员表白程序

    电子发烧友网站提供《程序员表白程序.rar》资料免费下载
    发表于 11-21 10:41 0次下载
    <b class='flag-5'>程序员</b>表白<b class='flag-5'>程序</b>

    程序员节 | 今年程序员们都想要的礼物竟然是……

    原文标题:程序员节 | 今年程序员们都想要的礼物竟然是…… 文章出处:【微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 10-24 10:35 269次阅读
    <b class='flag-5'>程序员</b>节 | 今年<b class='flag-5'>程序员</b>们都想要的礼物竟然是……

    不可错过!人工神经网络算法、PID算法、Python人工智能学习等资料包分享(附源代码)

    先了解生物神经元模型。 >>>点击查看下载资料 2.Python编程:从入门到实践 如何学习编写第一个程序,每个程序员都有不同的故事。我还是个孩子时就开始学习
    发表于 09-13 16:41

    移植ARM DHCP服务器版本1程序员指南

    这本书由ARM DHCP服务器服务器软件提供, 假定ARM DHCP服务器移植源可以作为参考, 也假设您可以访问程序员的 C 和 ARM 组装语言指南。 本程序员指南是为有经验的内嵌系统程序员编写
    发表于 08-18 06:46

    霓虹灯程序员指南

    如果您对ARM技术完全陌生,请阅读Cortex-A系列程序员指南,了解有关ARM架构配置文件和一般编程指南的信息。 ·霓虹灯技术是ARM高级单指令多数据(SIMD)扩展的实现。 ·霓虹灯单元是执行
    发表于 08-17 06:32

    ARMv8-A霓虹灯程序员指南

    程序员,如固件、设备驱动程序或android内核开发人员•希望为基于Arm的目标设备优化库或应用程序程序员•非常热衷于Raspberry Pi爱好者本指南涵盖了如何开始使用Neon,
    发表于 08-08 07:25

    ARM系统跟踪Macrocell程序员模型架构规范1.1版

    ARM 系统跟踪大型电池程序员示范建筑规格V1.1 建筑规格
    发表于 08-02 10:11

    61.[程序员小飞]如何在3分钟内安装好数据库MySql和Navicat,简单又易懂

    程序员
    充八万
    发布于 :2023年07月20日 09:16:19

    Neuron C 程序员指南

    Neuron C 程序员指南
    发表于 07-04 20:48 0次下载
    Neuron C <b class='flag-5'>程序员</b>指南

    ISI 程序员指南

    ISI 程序员指南
    发表于 07-04 20:47 0次下载
    ISI <b class='flag-5'>程序员</b>指南

    打开 LNS 程序员参考

    打开 LNS 程序员参考
    发表于 07-04 19:50 0次下载
    打开 LNS <b class='flag-5'>程序员</b>参考