首先是普通人的一个基本前提:
学过的,准确深入理解了的知识,一个月左右不用就很容易忘掉一部分. 比如学习堆排序算法,第一次 花了一天时间,最后用两种语言,包括在纸上手写 都能准确无误. 结果一个月后,基本上还能记得一点关键的信息就不错了 ,很多注意点都忘了,估计也就剩下 30%左右的记忆.
当时的水平是肯定足够应付面试.但是一个月后的剩余记忆估计就不行了,时间再久一点就更不太可能. 对其他的基础知识也是同理;
面试的时候,许多人喜欢考察 "基础知识",这个是现状,个人没法改变 只能去适应. 这种考查形式跟我们上学时候刷题差不多,对于擅长刷题应试的学霸应该是得心应手吧.
而日常的工作,且不说大部分人的工作内容都是集中在业务层面. 随着技术的发展,复杂的内容越来越多的被封装起来简化使用,如果碰不到问题非解决不可,大部分以业务为主的开发都是在黑盒的情况下使用"基础知识",简化了复杂性从而更快的 Get Shit Done. 面试需要的技能很难在日常工作中得到锻炼.
所以是不是面试之前的学习复习时间就成为了必须? 你们一般花多少时间来做"应试"的准备? 或者有什么更好的方法,比如日常有准备的刷刷题看看书什么的更好的办法么.欢迎探讨
1
csfreshman 2021-05-09 11:49:09 +08:00 1
最近也在刷 leetcode,谈几点机会:
1.一道题目,目前最多的我遇到 5 遍,依然不能在不看答案的情况下独立完成,统计的 40%题目第二遍做的时候独立思考并且完成,说明学习是一个重复上述步骤的过程 2.刷 leetcode 会影响工作中的编码习惯,考虑边界情况 单测覆盖等都会有所提升 3.工作中可以严格要求自己(能不能做更好,能不能更快 更省内存),可能带来的副作用,本来要跳槽的,结果干的好加薪了😝 |
2
e583409 2021-05-09 15:02:34 +08:00
平时积累多了 面试能知道的
|
3
dswyzx 2021-05-09 15:41:51 +08:00
应试教育学那么多诗词公式解方程,如今又有何用,卷就完事了还在这纠结.
反正我混的都是小作坊,没那么卷 |
4
dcoder 2021-05-09 15:56:36 +08:00
面试和日常就是两回事,别纠结.
面试刷题慢慢变成了某种标准化考试 -- 当然也随机地考验你和面试官的眼缘. 虽然面试能帮你大厂,但是面试和在大厂打工其实就是挣个高点的工资而已. 都不用看得太重, 只认工资就行. 简单说就是 "面试耍猴玩, 工作拧螺丝". |
5
DarkCat123 2021-05-09 16:01:50 +08:00 3
>学过的,准确深入理解了的知识,一个月左右不用就很容易忘掉一部分. 比如学习堆排序算法,第一次 花了一天时间,最后用两种语言,包括在纸上手写 都能准确无误. 结果一个月后,基本上还能记得一点关键的信息就不错了 ,很多注意点都忘了,估计也就剩下 30%左右的记忆.
推荐看看 书魔的学习方法-1:读书的飞轮 - 阿莱克西斯的文章 - 知乎 https://zhuanlan.zhihu.com/p/55804099 |
6
binux 2021-05-09 16:03:44 +08:00 via Android 2
堆排序我至少 5 年没看过了,但是我能花 1 个小时重新推导出算法。
我希望能和能力和我类似的人共事。 |
7
xiaotianhu OP |
8
caliburn1994 2021-05-09 17:41:59 +08:00 2
让我想到《后浪》和《我不想做这样的人》,那是一群没有被社会毒打的孩子。
👇 <=被毒打前 我想成为一个善于学习的程序员,而不想成为一个只会刷题的人 👇 <=被毒打后 我要好好刷牛客网,刷 leetcode,把简历改好。 好丧啊,都 xx 岁了,周六日还要好好学习,如果不学习的话,就有可能被淘汰。 好丧啊,不想加班呀 ... |
9
ReferenceE 2021-05-09 17:43:56 +08:00 via Android 1
无脑刷题就对了
@caliburn1994 这就是我等失业人员的切身体会,哈哈哈哈哈哈哈(555 |
10
theprimone 2021-05-09 23:26:09 +08:00
目前我主要通过工作和业余做点有意思的项目来学习,通过实践来学习。这就导致了熟悉了在各种情况的黑盒下开发,碰到了问题就打开这个黑盒看看原理,里边自然还是黑盒,疯狂套娃。因此,个人认为自己在前端开发经验上还算丰富,但是涉及浏览器底层原理和算法数据结构之类的就很薄弱了,这也是自己一直想弥补的,但是一直忙着搞自己的项目玩 _(:3J∠)_
个人还是更喜欢通过项目来学习,看看啥时候专门搞相关的项目来学习吧。至于面试,都是边面试边总结,也算是够佛系了。 |
11
Akiya 2021-05-10 08:56:40 +08:00
其实很简单,找一个需要用算法的工作就不会有悖论了
|
12
chenhbang 2021-05-10 11:38:33 +08:00
飞雷神
|
13
caliburn1994 2021-05-10 13:15:13 +08:00
@theprimone 我也打算自己写一些 demo,并上传到 GitHub,然后以后就更容易回忆起算法相关的内容
|
14
theprimone 2021-05-10 13:50:26 +08:00
@caliburn1994 我自己的 demo 性质的项目还是不多的,都是自己想做的项目。算法相关的我觉得可以直接 leetcode 加上一些算法解析的 repo 就完事了。
|
15
islxyqwe 2021-05-10 18:28:32 +08:00 via Android
看你记得东西是否对大脑友好了,就用堆排序举例
你记二叉堆算法 实现不短 规则不少 几天就忘 你记左偏堆算法 实现 10 行( js ) 规则简单 根本不会忘 |
16
kongkongyzt 2021-05-11 07:36:52 +08:00
所以我面试别人的时候基本不会问太掉书袋的东西, 都是问的在开发过程中反复会遇到的最基本的场景和问题.
然而即使是这样, 95%以上的人都答不上来 举两个例子: 1. 对于数据库中类似 性别 这类最多三个取值的字段, 是否应该设置索引? 2. 对于字段 a, b, c 组成的关联索引, where a = ? and c = ? 是否会命中此索引? where c = ? and a = ? 呢? where a =? or b=? 呢? (假设表中不止 a, b, c 三个字段) 目前面试 40+的人, 只有一个人能正确回答上面的问题 |
17
xiaotianhu OP |
18
wssy921 2021-05-11 18:08:38 +08:00
现在面试真的卷的很,但是不跳槽工资就一直原地徘徊,难搞啊
|