探讨:面试 与 日常工作 的悖论如何解决?

2021-05-09 11:37:12 +08:00
 xiaotianhu

首先是普通人的一个基本前提:

学过的,准确深入理解了的知识,一个月左右不用就很容易忘掉一部分. 比如学习堆排序算法,第一次 花了一天时间,最后用两种语言,包括在纸上手写 都能准确无误. 结果一个月后,基本上还能记得一点关键的信息就不错了 ,很多注意点都忘了,估计也就剩下 30%左右的记忆.

当时的水平是肯定足够应付面试.但是一个月后的剩余记忆估计就不行了,时间再久一点就更不太可能. 对其他的基础知识也是同理;

面试的时候,许多人喜欢考察 "基础知识",这个是现状,个人没法改变 只能去适应. 这种考查形式跟我们上学时候刷题差不多,对于擅长刷题应试的学霸应该是得心应手吧.

而日常的工作,且不说大部分人的工作内容都是集中在业务层面. 随着技术的发展,复杂的内容越来越多的被封装起来简化使用,如果碰不到问题非解决不可,大部分以业务为主的开发都是在黑盒的情况下使用"基础知识",简化了复杂性从而更快的 Get Shit Done. 面试需要的技能很难在日常工作中得到锻炼.

所以是不是面试之前的学习复习时间就成为了必须? 你们一般花多少时间来做"应试"的准备? 或者有什么更好的方法,比如日常有准备的刷刷题看看书什么的更好的办法么.欢迎探讨

3773 次点击
所在节点    程序员
18 条回复
csfreshman
2021-05-09 11:49:09 +08:00
最近也在刷 leetcode,谈几点机会:
1.一道题目,目前最多的我遇到 5 遍,依然不能在不看答案的情况下独立完成,统计的 40%题目第二遍做的时候独立思考并且完成,说明学习是一个重复上述步骤的过程
2.刷 leetcode 会影响工作中的编码习惯,考虑边界情况 单测覆盖等都会有所提升
3.工作中可以严格要求自己(能不能做更好,能不能更快 更省内存),可能带来的副作用,本来要跳槽的,结果干的好加薪了😝
e583409
2021-05-09 15:02:34 +08:00
平时积累多了 面试能知道的
dswyzx
2021-05-09 15:41:51 +08:00
应试教育学那么多诗词公式解方程,如今又有何用,卷就完事了还在这纠结.
反正我混的都是小作坊,没那么卷
dcoder
2021-05-09 15:56:36 +08:00
面试和日常就是两回事,别纠结.
面试刷题慢慢变成了某种标准化考试 -- 当然也随机地考验你和面试官的眼缘.
虽然面试能帮你大厂,但是面试和在大厂打工其实就是挣个高点的工资而已.
都不用看得太重, 只认工资就行. 简单说就是 "面试耍猴玩, 工作拧螺丝".
DarkCat123
2021-05-09 16:01:50 +08:00
>学过的,准确深入理解了的知识,一个月左右不用就很容易忘掉一部分. 比如学习堆排序算法,第一次 花了一天时间,最后用两种语言,包括在纸上手写 都能准确无误. 结果一个月后,基本上还能记得一点关键的信息就不错了 ,很多注意点都忘了,估计也就剩下 30%左右的记忆.

推荐看看 书魔的学习方法-1:读书的飞轮 - 阿莱克西斯的文章 - 知乎
https://zhuanlan.zhihu.com/p/55804099
binux
2021-05-09 16:03:44 +08:00
堆排序我至少 5 年没看过了,但是我能花 1 个小时重新推导出算法。

我希望能和能力和我类似的人共事。
xiaotianhu
2021-05-09 16:38:24 +08:00
@binux
记得核心思想,几个关键点 我觉得是可以的.算法虽然大部分是思考逻辑,但是有一些地方还是需要背.

然后你确定面试官会有耐心给你 1 个小时推导堆排序算法?
caliburn1994
2021-05-09 17:41:59 +08:00
让我想到《后浪》和《我不想做这样的人》,那是一群没有被社会毒打的孩子。

👇 <=被毒打前
我想成为一个善于学习的程序员,而不想成为一个只会刷题的人

👇 <=被毒打后
我要好好刷牛客网,刷 leetcode,把简历改好。
好丧啊,都 xx 岁了,周六日还要好好学习,如果不学习的话,就有可能被淘汰。
好丧啊,不想加班呀
...
ReferenceE
2021-05-09 17:43:56 +08:00
无脑刷题就对了
@caliburn1994 这就是我等失业人员的切身体会,哈哈哈哈哈哈哈(555
theprimone
2021-05-09 23:26:09 +08:00
目前我主要通过工作和业余做点有意思的项目来学习,通过实践来学习。这就导致了熟悉了在各种情况的黑盒下开发,碰到了问题就打开这个黑盒看看原理,里边自然还是黑盒,疯狂套娃。因此,个人认为自己在前端开发经验上还算丰富,但是涉及浏览器底层原理和算法数据结构之类的就很薄弱了,这也是自己一直想弥补的,但是一直忙着搞自己的项目玩 _(:3J∠)_

个人还是更喜欢通过项目来学习,看看啥时候专门搞相关的项目来学习吧。至于面试,都是边面试边总结,也算是够佛系了。
Akiya
2021-05-10 08:56:40 +08:00
其实很简单,找一个需要用算法的工作就不会有悖论了
chenhbang
2021-05-10 11:38:33 +08:00
飞雷神
caliburn1994
2021-05-10 13:15:13 +08:00
@theprimone 我也打算自己写一些 demo,并上传到 GitHub,然后以后就更容易回忆起算法相关的内容
theprimone
2021-05-10 13:50:26 +08:00
@caliburn1994 我自己的 demo 性质的项目还是不多的,都是自己想做的项目。算法相关的我觉得可以直接 leetcode 加上一些算法解析的 repo 就完事了。
islxyqwe
2021-05-10 18:28:32 +08:00
看你记得东西是否对大脑友好了,就用堆排序举例
你记二叉堆算法 实现不短 规则不少 几天就忘
你记左偏堆算法 实现 10 行( js ) 规则简单 根本不会忘
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+的人, 只有一个人能正确回答上面的问题
xiaotianhu
2021-05-11 09:08:55 +08:00
@kongkongyzt 这,这不高性能 mysql 原版题么

还是得背书 😃
wssy921
2021-05-11 18:08:38 +08:00
现在面试真的卷的很,但是不跳槽工资就一直原地徘徊,难搞啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/775790

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX