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

深夜求大家给点鼓励或者泼盆冷水泼醒我

  •  
  •   shiwoya · 2020-07-01 01:28:18 +08:00 · 6714 次点击
    这是一个创建于 1607 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大一学生 cs 专业

    很喜欢前端的东西,虽然确实自己很菜,现在花了很长时间在前端上,学校是不教这些的 也有打算继续每天花点时间在这上面,现在学习任务又很重,数据结构、java 都上完了, 理应是花费大量时间去学算法的,但是确实对前端的东西有兴趣。

    基本上每天都有时间花在前端上,算法的时间显然不够,自己也明白算法的重要性,但时间还是不避免的用的少了, 现在就有种畏难情绪(尤其有些算法,看了讲解,看了演示还是搞不定,)

    深夜发个帖子,纯属无聊,找个倾诉口。 另外悄咪咪的问句,大家刚学某些算法时候掌握需要多久呢?(就不如说归并排序这种很重要却又很基础的,我看了几小时都没怎么搞明白,模仿着写出代码了,估计第二天还是写不出来,几天后更是忘个精光,感觉自己脑子也算聪明,学校也挺不错,就是搞不定一些问题)

    57 条回复    2020-07-03 11:35:46 +08:00
    gaohongyuan
        1
    gaohongyuan  
       2020-07-01 01:44:26 +08:00   ❤️ 3
    算法是程序员的核心竞争力之一,需要不断磨练,几个小时搞不明白很正常。我大三的时候才开始上算法课,学的一塌糊涂,但之后一直保持刷题,等到研究生再上算法课的时候就找到感觉了。

    我刷题那段时间看的是普林斯顿 Robert Sedgewick 的算法课视频,深入浅出,也有参考代码,我就背下来,每天写一遍,持续几天就比较能领会其中的思想了。
    786375312123
        2
    786375312123  
       2020-07-01 01:46:42 +08:00
    这里的算法指的是什么?如果单纯是算法基础的话,那范围就太广了,需要很长时间,本质上机器学习也是算法。
    如果你指的是硅谷公司面试那一套东西,直接刷 leetcode 就好了,熟能生巧。刷个一年基本上也差不多了
    mumbler
        3
    mumbler  
       2020-07-01 01:48:21 +08:00 via Android
    钻研自己有兴趣,不觉得枯燥的领域,不要去补自己短板,把自己搞得好像全能一样,最后干啥啥不行,庸才才全面发展
    felix021
        4
    felix021  
       2020-07-01 02:44:04 +08:00 via Android
    算法是很好的思维训练,也是很好的应聘敲门砖。但也不要给自己太大的压力,你才大一,只要每周刷一题 leetcode,四年下来就很好了。
    QingchuanZhang
        5
    QingchuanZhang  
       2020-07-01 02:46:16 +08:00
    如果你可以教我前端的话,我可以教你算法。。
    594duck
        6
    594duck  
       2020-07-01 04:52:01 +08:00
    如果只喜欢前端可以读北大青鸟,大学就是教你理论的地方
    cassyfar
        7
    cassyfar  
       2020-07-01 05:32:02 +08:00
    我觉得做一些自己感兴趣的事情,挺好的。我个人觉得算法不重要。大学主要培养一个人自学,研究的能力。而且现在算法重要可能是因为工业界看重。但是等你毕业的时候,四年或六年过去了,工业界可能又看重其他的了。比如那个时候已经没有程序员这个工种了,大部分繁琐工作被自动化取代。
    btnokami
        8
    btnokami  
       2020-07-01 06:08:13 +08:00 via iPhone
    算法很重要,但是算法也没那么重要。。。不知道题主有没有学过离散数学,先打好离散基础再看算法应该会好不少
    laike9m
        9
    laike9m  
       2020-07-01 06:09:45 +08:00
    挺正常的吧。可以看一下 MIT 的算法公开课。
    LeoZhu
        10
    LeoZhu  
       2020-07-01 06:19:48 +08:00
    事实是,就算不会算法,前端也能找到不错的工作,但是算法决定你的职业上限和上升速度
    dcoder
        11
    dcoder  
       2020-07-01 06:35:28 +08:00   ❤️ 1
    你为啥要执意进军娱乐圈?
    murmur
        12
    murmur  
       2020-07-01 06:58:05 +08:00
    前端那点东西有两三个月就入门了,都是坑,时间越久坑越少,你看现在入坑的人还要背 iehack 背 ie8 兼容性么
    Tlin
        13
    Tlin  
       2020-07-01 07:20:21 +08:00
    这几天我都是通宵的,你还想做吗?其实各行各业都不好做
    MeatIndustry
        14
    MeatIndustry  
       2020-07-01 07:44:21 +08:00 via iPhone
    不要方。你毕竟才大一,有充裕的时间学算法。至于掌握它本身,只有练习了。
    rioshikelong121
        15
    rioshikelong121  
       2020-07-01 07:59:01 +08:00
    大一不用认真学前端,等你毕业你学的东西说不定早过时了。 好好打基础。JS 语言本身可以学习一下。
    amosasas
        16
    amosasas  
       2020-07-01 08:16:40 +08:00
    @rioshikelong121 以现在大厂校招实习的竞争激烈程度,大一学一些基础,大二做项目做比赛,大三准备各种算法知识。。。。
    iintothewind
        17
    iintothewind  
       2020-07-01 08:22:38 +08:00   ❤️ 3
    大学相对于毕业后的时光来说, 其实是最自由最充裕的能够自己支配的时间了.
    建议多学学不那么"功利"的知识, 就是那些暂时对刚参加工作来说没太大用的知识: 比如打好数学基础, 线代, 概率统计, 离散, 群论等等, 打好计算机理论基础, 编译原理, 操作系统原理, 多尝试不同范式的语言, 不要只局限于 c, java, js, python 也要看看 scheme, haskel, lisp 等等, 尝试自己写 parser, 写编译器, 或者写写操作系统什么的.
    这些东西都非常耗时间精力, 而且刚毕业也不会马上就用到.
    但是等你工作一定时间发现往更高层次发展发现这些基础还没打好再去搞这些就晚了, 因为时间精力已经没有那么多了.
    tenca
        18
    tenca  
       2020-07-01 08:23:19 +08:00
    学自己喜欢的,往深了学,不需要理会楼上这些该做什么不该做什么的言论。
    40EaE5uJO3Xt1VVa
        19
    40EaE5uJO3Xt1VVa  
       2020-07-01 08:33:50 +08:00
    没事瞎寻思,你都是闲的。前两年我也跟你这么闲,瞎寻思这些没用的
    yuhaijiang2019
        20
    yuhaijiang2019  
       2020-07-01 08:48:14 +08:00
    你毕业还有三年呢,三年以后不知到咋回事呢还,现在感觉都是前端都是人满为患了,光是帝都培训班每年成千上万的往外输出,先把本专业搞好再说,而且前端就那么点东西,没啥事刷刷 leetcode
    darknoll
        21
    darknoll  
       2020-07-01 08:50:49 +08:00
    先能毕业了再说吧,别弄得考试不及格毕不了业
    PineappleBeers
        22
    PineappleBeers  
       2020-07-01 08:59:46 +08:00
    前端其实就那些东西,用业余时间往基础方向慢慢学就是了,大学四年是完全足够的,相反算法这些才是真的需要大量时间。
    cocoCookie
        23
    cocoCookie  
       2020-07-01 09:04:28 +08:00
    兴趣是最大动力,没兴趣的可以不研究但是要保证不挂科。。。
    shiwoya
        24
    shiwoya  
    OP
       2020-07-01 09:30:08 +08:00
    深知算法的重要性
    谢谢大家的留言
    谢谢
    leeleg
        25
    leeleg  
       2020-07-01 09:30:19 +08:00
    我大一刚学的时候也是这样,就是看不懂,所以我多找身边的同学或师兄师姐,问一些不理解的问题,也会去看博客,了解别人对一个问题的看法,是否和自己的理解是一样的。学业还是很重要的,如果真的感兴趣,建议从基本的算法看起,可以去学校图书馆借一本《算法》(第 4 版) 看看,红皮的。前端几个框架的背后,都是由算法和基础的数据结构支撑起来的,算法基础打好,对你以后深入了解框架是有很大帮助的。总之,技术到后面,都是相通的。
    vuuv
        26
    vuuv  
       2020-07-01 09:30:56 +08:00 via Android
    那我来泼冷水吧。
    前端算研发。大厂研发面试重视算法。
    你算法底子差了,路也窄了。

    前端也分 CSS 前端和 js 前端,你现在沉迷的是 CSS 前端吧? js 部分你可以学习一些 node 项目,也能练算法的。
    shiwoya
        27
    shiwoya  
    OP
       2020-07-01 09:39:50 +08:00
    @vuuv 不能说沉迷,目前花的比较多的也是 nodejs
    就是纯感兴趣,大家又说他乱娱乐圈啥的,更加吸引我了,自己是想着趁大一玩玩
    clf
        28
    clf  
       2020-07-01 09:44:16 +08:00
    企业面试、研究生考试等等的各种出路,都需要算法。

    另外呢,对前端感兴趣也挺好的,可以去了解一下各种前端框架的思想。然后呢,一个好的前端,也需要了解后端知识。还有就是网络相关的传输方式。
    yeziahehe
        29
    yeziahehe  
       2020-07-01 09:47:36 +08:00   ❤️ 1
    大学是修炼内功最好的时候,好好学基础啊。
    讲道理,就前端的更新速度,你现在的学的东西,等到你毕业大概率重学一遍。
    sudoy
        30
    sudoy  
       2020-07-01 10:00:58 +08:00
    @yeziahehe 大实话,前端更新太 TM 快了,感觉前端各个都想自己造框架
    newtype0092
        31
    newtype0092  
       2020-07-01 10:12:39 +08:00
    算法和数据结构不要急,慢慢学就行,开始难是因为你还没有熟悉这种知识体系,简单来说就是没上道,多写多练,看看抄抄就行,慢慢上手以后就会好的。

    这东西是由浅入深的,简单的基础的一定要掌握,高级的慢慢了解,有些高深的算法真的是常人智商难以理解的数学问题,有个了解就行。

    一定不能像上面有些人说的不感兴趣就不学了。
    什么时候你停止学习算法和数据结构了,什么时候你的编程生涯就走到头了。
    前端说到底干的是编程的活,只要你还写程序,算法和数据结构就是基础中的基础。
    miniwade514
        32
    miniwade514  
       2020-07-01 10:47:00 +08:00
    才大一啊。。每周搞定一道算法题,到毕业应对大厂面试也够用了。
    TomatoYuyuko
        33
    TomatoYuyuko  
       2020-07-01 11:31:44 +08:00
    试试用 js 去写 leetcode 还挺有趣的
    DamienS
        34
    DamienS  
       2020-07-01 12:05:10 +08:00
    js 学起来很快的。我在大学时写了个 nodejs 的网站后端,感觉很有趣,工作了 1 年后前端后端就比较得心应手了. 不过毕业了你就很少学到算法了。所以珍惜现在时光,前端工作了,或者自己一个假期其实就能学会很多
    coala
        35
    coala  
       2020-07-01 13:12:48 +08:00
    你如果好好上课
    快实习的时候学前端 估计 3 个月好了 因为有太多基础了
    Mistwave
        36
    Mistwave  
       2020-07-01 13:30:17 +08:00 via iPhone
    emmmm 看不明白可以考虑换本书 /课程,有些书适合授课,有些书适合自学,还是有区别的。
    花时间也是正常的,随着知识、技能的积累,以后会越来越快。
    具体到算法和数据结构上面,推荐 sedgewick 老爷爷的书“算法 第四版”,非常适合自学,循序渐进,图解丰富,排版也很好。更关键的是,老爷爷自己讲的这门课,在 coursera 上面免费看,很棒。

    基础很重要,数据结构 算法 os network 等等。流行框架可以玩,但是不建议花太多时间,毕竟基础牢了,上层建筑都是触类旁通,随便学。
    huihuilang
        37
    huihuilang  
       2020-07-01 13:33:53 +08:00
    算法面太广了,好好学习数学吧
    shiwoya
        38
    shiwoya  
    OP
       2020-07-01 14:03:30 +08:00
    谢谢大家的留言,我都仔细看了
    心里也有了些想法
    也不那么太纠结了
    谢谢大家
    marukosoft
        39
    marukosoft  
       2020-07-01 14:09:58 +08:00
    算法的话,数据结构以能明白深度优先搜索和广度优先搜索为止,面试绝对够用,上层开发用不到特别深入的,除非想再深入一些
    zzzmh
        40
    zzzmh  
       2020-07-01 14:54:28 +08:00
    都已经这么幸福了还要什么自行车
    我当初是白天上班,下班去图书馆借书,晚上熬夜自学编程
    入了这行以后也没闲着,业余时间各种折腾代码
    最近还在学 vuecli antd
    总之不用上班养活自己,可以一门心思学,还有人教,还有兴趣,那还要啥自行车,做梦都笑醒
    1a0ma0
        41
    1a0ma0  
       2020-07-01 17:36:12 +08:00
    我觉得对啥有兴趣就去学呗,只要不挂科就成,反正才大一,以后时间很多的,我大三才学算法呢。你可以大一、大二的时候多写自己感觉兴趣的东西,之后高年级了在继续学算法,我觉得也不迟吧。。。
    sankooc
        42
    sankooc  
       2020-07-01 17:39:24 +08:00
    你才大一苦恼这些其实没啥意义 喜欢前端可以吧精力放在前端开发上其实没啥问题
    sankooc
        43
    sankooc  
       2020-07-01 17:43:13 +08:00
    如果说想最优化你的学习效率其实我建议你好好学 高等数学 线性代数 概率论 有没有掌握数学工具在你未来突破算法能力上作用挺大的
    LYEHIZRF
        44
    LYEHIZRF  
       2020-07-01 17:51:10 +08:00
    一定要好好学高数
    zzzzzzggggggg
        45
    zzzzzzggggggg  
       2020-07-01 17:59:44 +08:00
    数据结构与算法其实就是写代码的逻辑以及一些常见的结构用法,可以找一本算法书看,然后去 LeetCode 刷题,把基础题刷完,你写代码就很溜了,切记不要背诵那些东西,看过之后去刷题
    NonClockworkChen
        46
    NonClockworkChen  
       2020-07-01 18:11:20 +08:00   ❤️ 1
    你只是在学,依葫芦画瓢容易学的东西。
    另外 5 年前,你这么学是没问题的,出来刚好,前端还在风口。
    你现在这么学,不会有学正规课程的同学,混的好。
    KuroNekoFan
        47
    KuroNekoFan  
       2020-07-01 18:14:19 +08:00
    一般场景下纯前端是挺无聊的...至少要 web dev 才比较有意思
    但是国内的 web dev 意思是:java 开发
    namelosw
        48
    namelosw  
       2020-07-01 18:16:49 +08:00
    可以用前端搞一些算法可视化啥的
    gunavy
        49
    gunavy  
       2020-07-01 19:24:51 +08:00
    知乎:程序员的悲哀?
    yangbonis
        50
    yangbonis  
       2020-07-01 19:39:01 +08:00 via iPhone
    关键不是掌握,是活用,比如你需要看一个源码的时候,能很容易想到纸带上那些内存的结构怎么优雅的达到需求的。每次都用,也就不会忘了。
    fuermosi777
        51
    fuermosi777  
       2020-07-02 03:52:29 +08:00
    我们公司的前端除了 typescript 都要写 c++和 python 的
    biubiupiupiu
        52
    biubiupiupiu  
       2020-07-02 09:14:08 +08:00 via Android
    摸了摸自己头,心想还是算了
    ruanimal
        53
    ruanimal  
       2020-07-02 10:23:30 +08:00
    数据结构算法,可以尝试用 js 实现
    shiwoya
        54
    shiwoya  
    OP
       2020-07-02 14:48:57 +08:00
    其实大家可能有点误解我了
    我以后不搞前端,只是现在觉得好玩,所以什么就业什么未来什么发展是不用考虑的
    只是深夜过来倾诉倾诉:)
    shiwoya
        55
    shiwoya  
    OP
       2020-07-02 14:50:13 +08:00
    @NonClockworkChen 现在前端确实在依葫芦画瓢学的
    但仅仅是有兴趣(目前),以后是肯定不会搞这个的拉
    ctbtcol
        56
    ctbtcol  
       2020-07-02 21:14:24 +08:00
    不耽误毕业按照自己喜好玩好了
    毕竟工作之后总会不得不把算法抓回来的
    考完试忘了用的时候又重学也是常态
    ygtq
        57
    ygtq  
       2020-07-03 11:35:46 +08:00
    喜欢啥就研究啥啊,想那么多干啥,前端也好,算法也罢,往深了追都挺有意思的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2685 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:51 · PVG 11:51 · LAX 19:51 · JFK 22:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.