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

有什么提升编程的办法吗?

  •  
  •   punny · 35 天前 · 4515 次点击
    这是一个创建于 35 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前大四,主要找 Java 后端工作,感觉自己天天背八股,都快背闷了,感觉很无趣看不到正反馈,已经坚持不下去了。还有就是我的基础其实不是很好,就是 CS 那方面的东西。现在这个时候该如何提升。或者有什么书可以推荐,有什么日常学习习惯都可以推荐下。非常感谢!
    55 条回复    2024-10-21 14:31:36 +08:00
    punny
        1
    punny  
    OP
       35 天前
    感觉我有点被 Java 后端限制住了,我该如何摆脱这种培训班思维去真正享受和学习编程?
    LanhuaMa
        2
    LanhuaMa  
       35 天前   ❤️ 1
    发现生活中的日常需求写程序去满足,实在没有的话自己去搭一个 Nas 跑虚拟机、Openwrt 、家庭影音服务器,会有需求的
    punny
        3
    punny  
    OP
       35 天前
    或者有什么博客也可以推荐下,天天看 csdn 大家都是抄来抄去的,感觉像一个大型笔记本,大家都没有自己的思考。
    YsHaNg
        4
    YsHaNg  
       35 天前 via iPhone   ❤️ 2
    @punny 第一步就应该是 csdn 域名 block
    prosgtsr
        5
    prosgtsr  
       35 天前
    @punny #1 你现在大四就狠狠的卷 java 先找到工作,能 hold 住之后在考虑拓展眼界
    xuanbg
        6
    xuanbg  
       35 天前
    多写,用心写。把代码写对地方,写对形式。
    windliang
        7
    windliang  
       35 天前
    极客时间买点课看?趁着学生还能半价优惠,从 https://coursesub.top/ 这里还能再省些钱
    Wkj1998
        8
    Wkj1998  
       35 天前 via Android
    想着使用 java 开发个东西,这才是提高的好方法,不然光背八股文和看培训课程,那始终是纸上谈兵
    oldManNewThought
        9
    oldManNewThought  
       35 天前
    搞一个项目来写,前后端都有,使用主流的框架,过程中遇到问题,如何解决的记录下来。实际上我解决要说编程的乐趣大多应该体现在解决过程的遇到的那些问题,或者某个需求想出个相对完美的解决方案
    diagnostics
        10
    diagnostics  
       35 天前
    因为你 CS 基础不好,才需要看八股文,也因为基础不好,所以理解不了八股文。

    要么熟能生巧,经验中总结(但也不是短期能搞定的)
    zjsxwc
        11
    zjsxwc  
       35 天前   ❤️ 2
    编程分为 4 个方面能力,
    - 工程化能力、
    - 算法实现能力、
    - 业务经验能力、
    - 基础通识能力

    Java 八股属于基础通识里的一小部分,与编程能力关系只是很小的一方面。
    acorngyl
        12
    acorngyl  
       35 天前   ❤️ 4
    学生的话,可以刷 leetcode ,或者去打 acm 比赛。
    算法熟了之后,很多计算机基础就通了。计算机工程一直干的事,就是为了解决资源不足问题,搞各种编排。门电路只能做 01 的与或非,怎么用 01 的与或非表示四则运算;连续的内存空间就是数组,不连续的单向结构是单链表,多向或者更复杂的是双链、输、图等;内存空间不足的情况,如果把单一任务做拆分,分批从外部空间取数,还要限制数据交换次数,就是 np 问题;如果多进程工作,要保证进程间数据一致性,放大一下就是集群架构的高可用模型,zookeeper 的数据同步。
    timelessg
        13
    timelessg  
       35 天前 via Android
    就我自己来说,去了大厂之后看项目代码,能力提升飞快,毕竟搞不懂就没法做需求,现阶段建议找些靠谱的开源项目看,多动手多思考。当然如果是准备面试还是要啃八股文,代码能力在面试中是体现不出来的
    davin
        14
    davin  
       35 天前
    手搓一个导航站/博客,从域名、开发、上线、运营、SEO 到运维,样样精通
    cunt
        15
    cunt  
       35 天前 via iPhone
    @timelessg 有什么靠谱的开源项目推荐嘛
    janus77
        16
    janus77  
       35 天前
    刷题,题目得分难度不能给你正反馈吗
    jackfanwan
        17
    jackfanwan  
       35 天前
    可以刷一刷力扣
    ooo000
        18
    ooo000  
       35 天前   ❤️ 1
    除了刷 leetcode 练习算法外,可以刷下 LabEx 的实验,代码能力是一方面,Linux ,Docker ,Kubernetes 等技术在求职中也是加分项。
    lveye
        19
    lveye  
       35 天前
    java 的话,看看《程序员面试金典》这本书挺不错
    harryWebb
        20
    harryWebb  
       35 天前
    你才大四,都没干过多少项目,实际工作个 5 年,技术自然被逼着进步
    csys
        21
    csys  
       35 天前
    如果是面向面试,刷 leetcode
    如果是面向工程,找大型开源项目学着做,跟着 PR 学
    yangzzz
        22
    yangzzz  
       35 天前
    先找份工作
    zhangyuzs61666
        23
    zhangyuzs61666  
       35 天前
    把八股文和算法刷一刷找工作不难的,毕竟你找的是实习工作
    AFlash
        24
    AFlash  
       35 天前
    编程成就感来自按照自己的思路实现代码,结果符合预期。编程也是需要熟练度的,除了单纯看书,可以考虑把书里讲的逻辑实现出来,这个过程跟实际工作是一样的。
    gongguowei02
        25
    gongguowei02  
       35 天前   ❤️ 1
    你好,心理学中有两个概念:“峰值”和“终值”。在学习的过程中,你需要关注并提高这两个概念,才能让自己有正反馈。

    提高峰值:学习的过程中,穿插自己喜欢的事情。比如:我喜欢刷抖音,我学习了半个小时,就让自己看一会抖音。

    提高终值:学习结束后,一定要总结,可以手写笔记,也可以列一张表格记录自己的心得,让自己的成长看得到,摸得着。
    gongguowei02
        26
    gongguowei02  
       35 天前   ❤️ 1

    补一张图,这是我平时提高终值(正反馈)的方法。
    chesha1
        27
    chesha1  
       35 天前
    先别好高骛远提升编程,找个工作再说,你现在最主要的任务就是刷题背八股吧?找个正式工作再说

    一定想提高,就找个日常实习干干,也能对找工作有点帮助
    kpsanmao
        28
    kpsanmao  
       35 天前
    干活就行。
    无他唯熟手尔!
    nikenidage1
        29
    nikenidage1  
       35 天前
    @gongguowei02 都是短篇文章吗?还是书籍?
    dearmymy
        30
    dearmymy  
       35 天前
    才大四,想提升工程代码,就是看一边 大话设计模式。过一遍有印象,然后就忘掉他,疯狂写代码踩坑,等你哪天坑踩够了,再回头看设计模式就行。
    lzzf
        31
    lzzf  
       35 天前
    @gongguowei02 这个是用什么记录的啊
    tool2dx
        32
    tool2dx  
       35 天前
    写垃圾代码 -> 写多了后自己看不下去重构 -> 循环到第二次写垃圾代码

    编程和学习一样,要提高只能多学多练,没什么捷径的。
    gongguowei02
        33
    gongguowei02  
       35 天前
    @lzzf 飞书文档,免费的
    @nikenidage1 截图中是短篇文章(博文),书籍笔记我是单独用 Github 仓库记录的。
    lucasj
        34
    lucasj  
       35 天前
    兴趣,兴趣,还他妈是兴趣。写博客,用代码实现自己的需求。
    sir283
        35
    sir283  
       35 天前 via Android
    提升自己水平最好的办法,就是自己想做什么,就做,比如我这个项目,我觉得国内定制系统的这些功能做的不好,我用起来不爽,我就自己造了一个。
    https://github.com/MrsEWE44/easyManager

    这个音视频工具也是一样,别人就那么些功能,还收费,我不如自己造一个,先造个大概,然后慢慢完善。https://github.com/MrsEWE44/autovideotool_qt
    lucasj
        36
    lucasj  
       35 天前   ❤️ 1
    让一个人做事情的动力:兴趣、压力。你现在既没有什么兴趣,压力也不大,当然什么都学不进去了。
    BlessingMe
        37
    BlessingMe  
       35 天前
    @lzzf #31 像是飞书的云文档
    MuscleOf2016
        38
    MuscleOf2016  
       35 天前
    在学校无所谓的,好好卷面试,找到工作以后,实战是最快的学习方式。也是最好的。
    NoKey
        39
    NoKey  
       35 天前
    刷力扣
    linbiaye
        40
    linbiaye  
       35 天前
    这是个非常吃实操经验的行业,看书学习前辈的经验,然后写大量代码,然后在看之前没看懂的书。
    Snail5956
        41
    Snail5956  
       35 天前   ❤️ 1
    你可以去看看阮一峰的博客,很多 CS 的基础教程,CS 相关有趣的知识也很多。这里分享下其中的一篇周刊,https://www.ruanyifeng.com/blog/2018/09/weekly-issue-24.html ,里面有提到 Hacker News 上面的一个提问:"新人进入软件行业,应该学什么?",有人回答:
    学习 SQL ,你将能够使用任何与数据库相关的软件。
    学习 HTML ,你将能够创建一个通用的用户界面。
    学习 GIT ,你将能够与他人分享您的工作。
    学习 Unix shell ,你将能够部署所有的东西。

    我给你再补充一个学习目标,Vim ,学好了你的编程速度可以是一般码农的 5-10 倍(可以参考《 Vim 使用技巧》这本书,学习,体验下 Edit Text at the Speed of Thought 的快乐)。
    guanhui07
        42
    guanhui07  
       35 天前
    数据结构与算法 打好基础 ,然后写写业务 都 curd
    dif
        43
    dif  
       35 天前
    只有实战才是最好的提升方法,如果你自学没项目,什么百万并发你只会背八股文。但你遇到一次,你就知道怎么解决。

    最好的就是开源项目多提 PR
    KyleLrz
        44
    KyleLrz  
       35 天前
    先找工作上班做牛马,提升最快。整这些有的没的,长久有用处,但是不是你现在最迫切的。
    meilicat
        45
    meilicat  
       34 天前
    打线上的算法比赛,无门槛、每周都可以参加的比赛平台有 atcoder 、leetcode 、codeforces 。推荐打 atcoder 的 abc (周六)和 leetcode 的单双周赛(周六周天)、codeforces 的 div2 、div3 。大部分时间在晚上 8-10 点左右开始。
    boboaiya3
        46
    boboaiya3  
       34 天前
    怎么都来卷 java ,java 已死
    punny
        47
    punny  
    OP
       34 天前
    @boboaiya3 主要是工作机会多吧
    james122333
        48
    james122333  
       34 天前
    兴趣加上叛逆 没兴趣就没动力 不叛逆就固步自封
    james122333
        49
    james122333  
       34 天前
    当有人根你讲某大而全框架天下无敌你就要唱反调 有人跟你说 linux 桌面不要使用你就偏要用
    阿还有一点扩展眼界
    guanzhangzhang
        50
    guanzhangzhang  
       34 天前
    在学校的话还是兴趣是动力,不然你老是纠结自己技术过不过关而过度思考,搞点感兴趣的东西后去做,有进度了才有正反馈。没有好的目标就找找学校协会和实验室之类的跟着一起折腾
    sbldehanhan
        51
    sbldehanhan  
       34 天前
    @Snail5956 #41 学好 vim 编程速度是普通码农的 5-10 倍,给我整笑了。
    FleetingSound
        52
    FleetingSound  
       34 天前
    AI 时代了,想快速学习就直接 chatGPT.
    另外,想有快速的正反馈,可以试试刷题 Leetcode
    szboy
        53
    szboy  
       34 天前
    程序员编程 AI 助手: https://zhuanlan.zhihu.com/p/616040849
    提高编程效率的 vs 插件: https://zhuanlan.zhihu.com/p/672441050
    runliuv
        54
    runliuv  
       34 天前
    练习 + 总结,练习 + 总结,练习 + 总结,练习 + 总结,练习 + 总结,
    forty
        55
    forty  
       31 天前
    学安卓开发,做游戏,这是为数不多可以单枪匹马就能发产品的赛道了。
    至于要学什么,等你实际开发的时候遇到具体问题,就知道要学什么了,是个很自然的过程。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3763 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:29 · PVG 18:29 · LAX 02:29 · JFK 05:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.