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

无任何编程基础,也能入门编程的经验总结

  •  
  •   hakunamatata11 · 2021-04-02 09:49:05 +08:00 · 712 次点击
    这是一个创建于 1126 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先,放下你手上那些大部头的书和堆成山的资料。

    其次,不要觉得“收藏了就等于学会了”,毕竟收藏夹里的资料再好再牛逼,你不去学、不去的话也是一堆垃圾。

    接下来,开始入门编程。

    先奉上我的刷题笔记:

    第一步,找到 coding 的感觉。

    书的话,只推荐 2 本:

    《 Head first Java 》:不急着读完,大概看完前三章,跟着作者玩游戏、解谜题,让你感觉到“原来编程这么好玩”,这本书的目的就达到了。当然,当你熟练编程后,你又会发现这本书其实涉及到了很多重要知识点,属于寓教于乐的类型。

    《编程之美》:这本书收集了约 60 道算法和程序设计题目,这些题目大部分在近年的笔试、面试中出现过,作者试图从书中各种有趣的问题出发,引导读者寻找更优的解法,这里也有《编程之美》的配套习题

    接下来,学着刷题。

    刷题一定要循序渐进,否则你就会感觉“学完二分法,做二分不会;学完 DFS,做 DFS 不会,学完……”,开始陷入刷题的自我怀疑。

    感兴趣的话可以去刷LintCode [新手编程必刷 50 题] ,我刷了一部分,感觉还不错:很基础,很小白。

    刷完这 50 道题,你就能对算法和数据结构有最最最基本的认识,同时能够极大地提升你对编程的兴趣。

    如果一定需要有个“老师”带着你,我之前上过《算法基础班》,老师讲得很详细,用了 Java & Python 双语言讲解,全程都会带着你“码”一遍,有兴趣的话可以先白嫖下前四节试听课,也能让你对编程有初步的认识。

    第二步,学习刷题的技巧。

    我把这个过程拆成以下六步,当然,大家也可以根据自己的情况调整,仅供参考。

    ①无脑狂抄。

    我刚开始 coding 的时候脑子就是一团浆糊,曾经有一次做一道题做了整整一下午,连个 p 都没做出来。那天我叫的奶茶外卖还把吸管搞丢了,心态直接崩溃。

    还好这时候我朋友建议我先照着题解抄,直到抄出题感为止。

    你还别说,这个方法确实有效。一开始我觉得我在做一份很无聊很机械的工作,后来慢慢就能看懂别人的思路了,最关键的是不会犯一些基础的错误(比如少了一些符号导致代码编译错误)。

    ②思考题目的底层逻辑。

    站在面试官 /出题者的角度想,这道题考的是什么思想?考察做题者的什么能力?

    比如是基本概念、逻辑运算、数据结构的掌握程度?在做题之前多想一点,会让你的做题轻松一大半。

    ③举一反三,一题多解,多题一解。

    这一步其实比较玄学,但又是对于我的提升最有用的一次。看到一道题的时候,想到解法以后再进阶想一下:除了 A 解法,还能不能用 B 解法? C 题的解法,是不是也能用到 D 题上?

    会让你有触类旁通的感觉。

    ④学会讲题,阐述解法思路

    这是我在《九章算法班》上学到的“应试技巧”。其实大多数人学算法都是为了找到好工作,而找到好工作最关键的一步就是应对算法面试。

    而算法面试并不是把题目做出来就能过,在面试官面前写代码、讲思路非常考验自己的心理素质和逻辑思维,也很大程度的决定你能不能拿到 offer

    所以大家可以去找朋友、老师,在他们面前练习讲题、大胆把思路讲出来。咱虽然是哑巴英语,至少不至于是哑巴中文不是?

    ⑤找到刷题套路,套模板解题

    分享我在 ACM 金牌选手令狐冲老师那拿到的** [算法模板] ,包括面试常考算法和数据结构(二分法、双指针、动态规划等)的代码模板,还把使用条件、复杂度、参考例题**都整理好了。

    《九章算法班》的首节免费试听课上可以获取,令狐老师的课程也敲有意思,大家不妨去试试~

    ⑥学习算法优化

    包括注重代码质量、规范变量命名等。等到了这一步,你就可以搞定大多数公司的算法面试了。

    第三步,自信地应对算法面试。

    终于到了最关键的一步,我的习惯是会在面试前一周看该公司的面试真题LintCode上也有详细的整理,并持续更新中。

    最后是一些实用面试技巧:

    做一个题之前,先沟通清楚。得到面试官肯定,再开始写代码,写完以后再解释

    不要闷头写,也不要一边写一边解释太多(容易写不完)

    可以要提示,经过提示做出来的题,也是可以拿到 Hire 的,但是先自己努力想一下,别太容易放弃,容易让人觉得不会主动思考问题。

    别和面试官吵架。面试官带着答案来面试你的,不同意见在大部分情况下,都是你自己想错了。

    ⑤会就会,不会就不会,不要遮遮掩掩,坦诚很重要,容易让人觉得和你沟通“不顺畅” 。

    做过的题就说做过,不要故意说没做过。因为他既然已经怀疑你做过了,即使你说没有,他也无法打消这个顾虑,还不如让他换题。

    令狐冲主讲的春招公益讲座《 FB 面试官揭露面试技巧:如何做到刷 100 题胜过别人刷 300 题》中包含了我刚才讲到的全部内容,此外,关于提升代码质量的 12 个技巧、在面试中如何和面试官有效的沟通、如何用最快的速度刷最核心的题目等算法面试的方方面面,令狐冲在前四节试听课上讲得很清楚了,感兴趣的朋友可以去试听体验一下~

    qq73666
        1
    qq73666  
       2021-04-02 09:59:10 +08:00
    刷题==编程??见识到了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2243 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:50 · PVG 15:50 · LAX 00:50 · JFK 03:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.