Tag: 学习
两周前我立下了一个小目标:每天读10页书。没想到这个习惯坚持得还挺顺利,居然真的读完了一整本书。这是我很久以来第一次完整读完一本书。过去几年也陆陆续续买了几本,但基本都是翻了几页就被丢到书架上积灰了。 听过一个说法:书只有读了才算真正“消费”了。我记得高中课文里提到过一句话:“书非借不能读也”,意思也正是强调书要读才有意义。 这次我选的第一本书很简单,没有太多技术含量,就是轻松地读着玩儿的。但刚开始的几天进展特别慢,每次都是一目好几行,却又好像什么都没看进去,还得不断回头重读,效率非常低。后来我意识到,这可能和我做事缺乏耐心有关。于是我尝试静下心来,一句一句地慢慢读,甚至在心里默念,果然这样效果好多了。怪不得总说读书有很多好处,比如能提高专注力,让孩子多读书,也有助于他们培养耐心和注意力。 这本《极简主义》介绍了几种方法和思路,核心内容我整理在下图里。可能过段时间我不太记得细节了,但这本书给我留下最深的印象就是一句话:“如果一件事不去做,它就永远不会完成。” 现在我又把Alex Xu的《系统设计》翻出来,每天照样读10页。以后准备把书架上的书一本一本都拿出来读,读完再放回去。这样真的很有成就感。 本文一共 472 个汉字, 你数一下对不对. 很久没有读完一本书了: 书买来后看了才算是消费了. (AMP 移动加速版本) 赞赏我的几个理由. ¥ 打赏支持 扫描二维码,分享本文到微信朋友圈
什么是竞技编程(Competitive Programming)? 竞技编程的英文是 Competitive Programming,是指在限定时间内通过编写程序解决一系列算法问题的比赛形式。比较知名的赛事有 ACM-ICPC、Codeforces、Google Kick Start 等。这类比赛不仅考验选手的算法功底和编程技巧,还需要良好的思维敏捷性和代码调试能力。 比如我二十多年前在高中参加的 ICPC,就是一种典型的竞技编程。当时我们使用的编程语言还是 Turbo Pascal,比赛时间是三个小时,要解决四道题。那时候只要程序能输出正确的结果就行了,根本不太在意代码的实现方式和写得是否优雅。 我家娃在做 LeetCode 的一道算法题时,由于算法不够高效,有两三个测试用例出现了超时。他索性“投机取巧”地加了一个 if 判断,针对那些特定的输入直接返回正确结果。这样做在 LeetCode 上是可行的——前提是你知道测试数据,并能手动处理特殊情况。 但在实际的比赛中,这种做法往往行不通。一方面你无法提前知道测试输入;另一方面题目设计者也会故意防止这种“硬编码逃课”手法,所以比赛更要求通用、稳健的算法方案。这也是竞技编程和普通刷题平台之间的一个重要区别。 🏆 ACM-ICPC(国际大学生程序设计竞赛) 由 ACM 发起,目前由 ICPC Foundation 主办。 …
从今年开始,我给自己设定了各种打卡目标,每天会把要做的事情记录在 Excel 表格里。这样不仅不容易忘记,也更方便坚持下去。 大约两三个月前,我启动了一个全新的学习计划:每天在 YouTube 上找一个视频来学习。最初是集中在系统设计(System Design)方面,但后来不再局限于某个主题,有时是 C++,有时是 ROS2 或机器人相关内容,还有时候是数学。 这样做有几个好处。一方面,每月花 20 英镑订阅的 YouTube Premium 总算真正用上了;另一方面,也实现了“每天进步一点点”的目标。听说,如果你能每天坚持做一件事情,持续一年,就能超过 95% 的人。一两天看不出什么差别,但日积月累,复利效应就非常惊人。比如每天进步 1%,那么一年后就是 1.01 的 365 次方,结果大约是 37.78。 其实我最早在去年下半年就开始尝试了,但那时还没做到每天都坚持。后来用了 Excel 表格来记录,从两个月前起,才真正稳定下来。 我还把我看过的学习视频分享到这个播放列表上,共同进步。 本文一共 …
每年英国的中小学都会举办各类数学竞赛,我之前也在这里介绍过。今年我家娃参加了 JMC(Junior Mathematical Challenge,初中数学挑战赛),获得了 Gold(金奖/金牌)成绩。不过我个人觉得这个年龄段拿金奖算是中等偏上的水平,但我媳妇却坚持说他只是个“普娃”。 娃今年就读于 IVC 的 8 年级,是在这所学校的最后一年。9 月份他就要升入 Perse 私立学校了。今年他参加了 JMC,也就是 7 至 8 年级学生参与的初中数学竞赛。据说再往上,9 年级及以上的学生则是参加 SMC(Senior Mathematical Challenge,高中组竞赛)。 JMC 第一轮是选择题,共 25 题。前 15 题每题 5 …
两年前,我让我的两个孩子分别教我一些东西,大娃教我 Pokémon(宝可梦),二娃教我一些其他知识。那时候,我还记得每节课给他们 1-2 英镑作为报酬。 我觉得这是一种很好的教育方式,所以今年我又重新启动了这个系列,并把报酬提高到了每节课 5 英镑,以更好地激励他们。 我家大娃对金融知识很感兴趣,我们平时每周都会给他买金融杂志,于是我就让他教我金融知识。这也是一种很棒的学习方法:在教的过程中,他自己也能巩固和加深理解。 前几个月,我停掉了每月给孩子们 5 英镑零花钱的做法。因为我觉得,通过让他们教我东西来赚取报酬,是一种更好的方式。这样能让他们明白,要获得报酬,就需要付出努力。 我还对孩子们说:“你看,你教我 5 分钟,就能赚 5 英镑,相当于时薪 60 英镑!这已经超过了绝大多数英国人,算得上是 Top 10 的精英了。” 费曼学习法(Feynman Technique) 这是由著名物理学家理查德·费曼(Richard Feynman)提出的一种高效学习方法,核心思想是:“如果你不能用简单的语言解释清楚,那你对它的理解还不够透彻。” 费曼学习法的四个步骤: 选择概念:选择你想学习的知识点,尽可能简单、清晰地写下来。 教授他人:想象自己在教一个完全不懂这个概念的人(比如小朋友),用简单的语言解释给他听。 找出漏洞:过程中,如果发现自己解释不清楚,说明理解还有不足,回去重新学习和梳理。 …
弟弟说,他想像我一样长大后成为一名程序员。然而,随着 人工智能/AI(比如ChatGPT) 的飞速进化,未来或许程序员这个职业都会被取代。这一两年,互联网大厂的招聘也明显减少了。 不过,我依然认为学习编程是一件好事。写程序不一定是为了当码农,刷题可以锻炼思维。之前教了他 700 天编程,但从未让他真正写代码,大概已经忘得差不多了。现在每天带着他刷题,也算是一次复习与再学习的过程。 对我来说,每天陪着他一起刷题,其实也相当于我自己做了一题。大部分时间里,我不亲自敲代码,而是我讲解,孩子来动手,这样能让他更熟悉代码,学得更快。 微博:我娃又在淘气了. 一身反骨: 我娃说他是想看看多添加几个if 会不会slow it down 相比之下,哥哥对金融更感兴趣,未来想从事相关行业,所以我没有强求他一起刷题,但有时候他也会在一旁听着。 乔布斯曾说:“这个国家的每个人都应该学习编程,因为编程能教会你如何思考。”(It teaches people how to think.) 21 天可以养成习惯 我的儿子现在每天都在刷题,他说想成为一名软件工程师。但他还不知道,ChatGPT 正在统治世界,未来可能不再需要那么多程序员,尤其是初级工程师。 自己这辈子也就这样了,看不到希望,所以鸡个娃。每天带着娃刷力扣,等于自己也刷了一道。 视频:油管/Youtube | B站/小破站 | …
前不久,力扣说我刷题刷了2000天,不是连续的,这个是一共刷的天数。2000天也就是5.479年。 我的力扣,欢迎围观:https://leetcode.com/u/justyy/ 注册力扣帐号是2013年10月10号,当天提交了6次。当时是在谢菲尔得/Sheffield。 后来就是断断续续,甚至有很长一段时间都没有刷,直到2019年3月2日开始才未间断刷到今天(当时拿着Ipad中午在美国通用电气的食堂里刷题)。2016年竟然4月份连续刷了25天,我已经忘记当时为啥这么有闲情逸致了。哦,当时已经搬到了剑桥/Fen Drayton了,可能在准备谷歌的面试。 019年在美国通用电气/General Electric工作的时候中午吃完饭在湖边着着IPAD刷题。 从2013年到2024的力扣刷题之路,一点点改变,一点点变好。 现在刷题是保持面试状态的好方法,就像飞机飞到高空时油耗已经减少,我希望自己能维持这个状态。每天打卡,哪怕有时只是拷贝代码,依然会稍微思考并熟悉解法和算法。每天坚持打卡还能积累积分,兑换力扣衬衫。 英文:Milestone: Leetcoding for 2000 Days 网友:以后每天比比看是cursor做得快 还是你快。 答:刷题的目的又不是比快。让脑子思考,训练脑子。 网友:惭愧,我在 GE时候天天打酱油,群主确是每天在刷题飞。 网友:看似不起波澜的日复一日让我们看到坚持的意义! 本文一共 475 个汉字, 你数一下对不对. 十年: 力扣刷题2000天. (AMP 移动加速版本) 赞赏我的几个理由. …