前几天我在知乎随手写了篇回答,没想到几天之内收获了600+
赞,跟大佬比起来算不上啥,但是作为一个新开的0
粉丝号,还是挺不容易的。
原回答放在底部阅读原文了,感兴趣的兄弟姐妹可以去看看(顺便帮我点个赞?)
我在回答里提到了一个很重要的能力——搜索能力,但是文章里只是隐晦得提及一些经历,没有掰开揉碎了讲,今天我们就来聊聊:如何提高自己的搜索能力?
正文
这篇文章写了快一个星期,发现自己有点
hold
不住了,可能有些地方会有点啰嗦,但我尽量透彻清晰地转达我的思想,这不是一篇快餐文,如果可能,建议多读几遍。
“搜索”,或者说“信息搜集”本身是一个很庞大的概念,这篇文章不可能面面俱到,我只能尽可能讲解一些我认为优秀的、个人实践过的方法,仅供参考。不要指望看完这篇文章你的搜索能力就能突飞猛进,你需要大量的实践,思想、认知层面的改变是很难的。我只能尽我所能提供一些思路,将常用的搜索思路、技巧进行整合,至少读完本文,能让你向正确的方向更靠近一点点。
信息搜集能力的重要性不言而喻,世界上很多差距的产生都是来源于信息差。 大到战争,小到股市,正确而及时的信息价值不可估量。
但具体到我们个人来说,可能只是一个普通的大学生,一个平凡的打工人,我们需要掌握的信息并没有那么高的机密(这也给我们获取信息带来了可能性)。
以我个人来说,如果不是在转专业期间靠着我的搜索能力提前了解了实习、校招的相关信息,我便不会制定出提前实习的方案与策略,更不可能有现在的发展。
好的搜索能力,能给我们带来更好的机会和发展方向。
ok,如果你对上面的结论与我达成共识,那么我们接着往下走。
什么是好的搜索能力?
我之前也玩过搜索比赛,拿过省级的小奖。比赛与现实其实有很大的不同:
- 比赛往往要求短时间内获取精确信息;
- 比赛的问题往往是有标准答案的;
- 比赛的问题分析是客观的;
换句话说,我们在现实中遇到的某些问题,其实很多时候没有标准答案,去知乎上搜来搜去也都是主观分析,全是小故事;尽管没有时间限制,但你很难获取一个合适的答案。
当然,现实中我们也会遇到代码运行出错,软件安装出错等等客观问题,因此我们这里针对大学生和程序员的常见搜索场景进行讨论。
I. 代码/软件问题
这种问题其实是最容易解决的,大多数时候你只需要把报错信息往百度上一贴,然后看几篇博客就能解决。
如果解决不了,那就再看几篇。
这个阶段最忌讳的操作是直接截个报错信息的图给别人,然后问一句:“大佬,这个报错了怎么办?”
脾气好点的、有空的可能还会帮你看看,或者找篇博客让你试。大部分大佬看到这种问题估计都挺无奈的,这种问题要么信息不全,大佬都不知道你这是在干嘛,另一种就是你自己百度能解决的事情,非要让大佬帮你百度一遍?别人时薪可能好几百,你给钱了么?
好的提问方式:(简单举例,本质就是要给全足够的信息)
- Mac 系统命令行下,执行
python test.py
文件出错了 - 把文件内容通过
https://paste.ubuntu.com/
发送,而不是直接微信发文件(别人可能电脑不在身边,发个文件根本没法看) - 给出你查找过的原因:比如检查过代码没有问题,在IDE上能跑,但是命令行不能跑
那么大佬可能根据你这些信息就能猜测出一些问题方向,比如是不是python3
文件,执行用的确是python2
(兼容问题),又或者是IDE
中使用了虚拟环境,系统环境中缺了某个包等等。
你再根据大佬给出的可能方向去排查,事情就会顺利很多。
这部分就不再细说了,更多的关于提问方式的内容,可以参考我之前的文章:xxx
II. 书籍推荐/学习路线的问题
这类问题在新手之间也很常见。很多回答往往是根据主观感觉进行推荐,甚至有些人书都没看过也敢推荐(全靠名声,但事实上,名声大但读起来味如嚼蜡的书可太多了。)
当然,这里除了有些答主瞎推荐是个问题外,新手总是试图寻找到最佳路线才开始的想法,才是最大的问题。
可能花了一两个星期才找到一个看起来很牛逼的路线,结果跟着做没两天就放弃了。
我就遇到过一些师弟,喜欢找各种路线,咋一看搜索能力还行,但要知道,获取信息本身不是目的,获取信息是为你解决问题而服务的。
对此,需要对一些想法进行修正:
- 搜集路线要适可而止,先去做,然后随时修正路线;
- 路线不需要很详细,有大概方向即可;
- 过度的信息搜集会引发焦虑;(觉得自己有很多事情要做,但就是一件都不做)
- 看平庸的书比只搜集路线不看书要好的多。
有些人总喜欢吐槽《21天学会c++》之类的是辣鸡书,我正好相反,我从不排斥这些书。我一开始学习某些知识时,看一些大部头总是看得很慢,然后我跑去图书馆,找了几本这种看起来很辣鸡的书(但一定是近一两年出版的),花几个小时过了一遍,再回过头来看大部头,顿感轻松不少。
只要书中的内容不过时,没有错误,那么它就是有价值的。或许它不能将某些原理讲得很透彻,但对于新手来说,这样的书,恰恰适合快速入门使用。
弱小和无知不是生存的障碍,傲慢才是。
如果有更合适的入门书,当然还是看好的入门书更好。但我见过大部分新手的问题不在于选的书不行,而是在两本都还可以的书上面纠结来纠结去,等纠结完其他人已经读完看下一本了。
目标明确的同学会发现,我前面讲的两点好像跟搜索技巧没啥关系呀?
- 一个教我怎么向大佬提问;
- 一个教我实践出真知;
有的同学可能要说了:
是的,没错
事实上,对于搜索,(在本文,搜索其实是一种泛指,并不单指用搜索引擎搜索这件事),或者说信息搜集来说,
最重要的是明确搜索目标!
最重要的是明确搜索目标!
最重要的是明确搜索目标!
对于第一部分来说,你在提问之前,如果想的是让对方帮你解决问题,那么你的目标就错了,得不得合理的帮助也是理所应当的。
正确的思路是:我只是想让对方提供排查问题的方向或者思路,具体怎么执行自己可以搞定。
对于第二部分来说,你在找学习路线之前,如果想的是找到最好的学习路径,那么你就会深陷在各种学习路径的比较之中。
正确的思路是:我只是想找一个靠谱的路线,然后尽快开始行动。
你不小心拿起了一本烂书,看一段时间自然就能分辨,语句不顺畅,思维不连贯,前置知识放在了后面,结构混乱,这些问题都非常容易辨别。这个时候换一本书,你就更清楚自己需要什么,你在这本书上花的时间也不会白费,它会让你更容易看懂下一本。
III. 选择问题
对于选择问题,提问者分两种,一种是其实只希望得到问题相关的背景,而非答案;另一种则相反,只希望得到答案,而非信息。
举个例子,有人问腾讯xx和字节yy哪个好?
事实上,提问者其实不希望别人帮他做决定,他只是想尽可能的搜集这两个部门各自的信息,然后自己做判断。(这种情况下,这样的问法显然不合适,问得太隐晦,需要追问回答者)
而有的人则不管回答者提供了多少信息,总觉得别人没帮到他,因为他试图让回答者直接给出答案。
这两种情况,不论哪种,其实都挺离谱的。而事实上,这两种情况又太常见了。
本质上来说,这样的问题没有统一、客观的答案,每个人的答案必然都受到自己的认知局限。(这并不是说回答者的回答没有意义,相反,参考价值很高)
感觉我说的有点矛盾?
停下来好好思考下,其实你会发现,这个问题是因为提问者总希望自己的选择是最优的,怕选错。这种心态不是错,很正常,人之常情。
但我想说,做事不后悔,是更好的态度。
往往有些同学问我类似的问题,我都是尽量将客观信息给到对方,然后让对方凭自己的感觉选吧,其实选啥,结果都不会太差的。
从高考以后,我基本就没有再产生过懊悔的情绪,做错了就立正,改就完事了。(仔细想了下,还是有的,打王者打出下饭操作的时候会有点。)
其实遇到这种问题怎么办呢?
尽可能获取客观信息,再这些信息的基础上分析比较,做出的选择,未必最优,但一定不会差到哪去。
如何提升信息搜集的能力?
如果说前面的内容更多从认知、心态这类心法上来讲解,那么这部门就是实打实的搜索小技巧,大部分是我的小经验。
搜索引擎
我初中就掌握的,几个老掉牙的搜索关键词:
-
: 搜索结果中去除该关键词
比如搜索:c++ -阿里云
,会把包含阿里云的内容剔除掉。
*
: 通用匹配符,可以代替任何字符。
懂点正则表达式的看到这个会很亲切。
site
: 指定网站中搜索
比如我只想在知乎中搜索:
你说:我直接在知乎中搜索不就好了吗?
其实两种方式各有好坏,大家可以自行体验下。
filetype
: 搜索指定文件类型
比如搜索《深入理解计算机系统》的 PDF 电子书:
百度下搜出来的往往是百度文库的内容,所以搜这种文件用谷歌更方便些。(国内由于版权问题清理了不少资源,像电子书资源啥的一般在百度网盘资源也比较多,也可以采用网盘搜索进行查找。)
这些小技巧只是在特定场景有用,大家要有意识的训练,否则只会看过了就算了。(所谓有意识的训练,就是你接下来的一周,搜索东西前先考虑一下能不能用上这些关键词,多想多练即可。)
更重要的一点其实是精确关键词,有的时候并不是你偷懒,而是你确实不懂得怎么搜,比如你想在 Excel 上把两张表的数据按照某一列合并,但你不知道这个可以用 vlookup
来做,你只能用一些模糊的描述:“Excel 表 合并 相同列”
之类的内容,这种时候自然搜索效率不高。这种情况下需要尽快搞明白你的需求能不能实现,可以用什么方法实现,也就是说,你需要先找到 vlookup
,然后再去了解vlookup
怎么用。
这次学会了,自己记录下来,下次只需要看自己博客就可以找到了。
发现/积累
如果你还没用过网盘搜索,那么你在我前面提到这个词的时候,是否会尝试去搜索,去了解呢?
我记得我之前给几个师弟安利 Markdown
,很有意思的是,他们听完觉得好像一般般,每个人都想着以后用到再说吧。结果过了一年,我看到他们在朋友圈表述自己学会Markdown
之后真香,后悔没早学。
确实有点好笑,可能你一笑而过,但我喜欢思考现象背后的本质。
我是否也会这样?
别人给我安利的时候,我尝试了一下发现搞不明白,感觉没啥用,等到后面真用上了才觉得真香。
想了想,确实有。包括Markdown
,我也并不是第一次被安利就使用它的。当然后来我养成习惯,一看到比较有意思的安利,就会亲手试试,确定搞懂,并且对我来说不合适的,才会放弃。
宁可杀错,绝不放过。
就这样,我又 Get 到了一个效率神器 —— 双拼。(每个字基本都是只要按两个键可以)
老一辈飞快的五笔输入我是十分羡慕的,但是学了一会发现太难了,就放弃了。双拼不一样,这次我认真练了一两个小时,然后直接把输入法换成双拼的,直接聊天。(一开始真的巨慢无比,字都不会打了),大概一个月,已经可以熟练运用了,打字速度确实快不少。(本来想测一下,进行对比的,但是刚刚发现已经不怎么会打全拼了,刚刚随便找了个,乱序文章,速度差不多 88字/分钟,而且不会很累,大家用全拼的可以自己测测试试看。)
今天又发现了一个个人知识管理的神器 —— Trilium
,就不多做介绍了,有兴趣的同学自己学起来用起来。(个人感觉比有道云、印象笔记、语雀、Typora
等都更适合用作个人知识管理,比 Notion
的话也不差。)
平时遇到好的网站自己多收藏总结,定期回顾。
随便举一些例子:
我们可以说CSDN
文章low
,到处copy
,但谁装一些环境、包的时候不得上CSDN
看看安装教程?
少一些鄙视链,该干嘛干嘛,吐槽CSDN
并不能显得你很厉害。
人脉的力量
向优秀的人请教,或者通过找人去获取你想要的信息,非常重要。
身为程序员,代码写多了,往往会有一种自己不需要求人的错觉,反正只要搞代码就好啦。直到现在,我也觉得我的 social
能力挺一般的,但不妨碍我可以通过我的人脉获取我需要的信息。
比如我在之前的文章讲过,我秋招选offer
前,其实就已经先搞清楚了部门内的情况,你说去哪刚刚好能找一个同部门的师兄师姐?
换个思路,我其实不需要这么刚好。我只需要认识这个BG
的人就好了,上一届总有毕业生群吧。我拜托上一届的师兄师姐在群里吼一句,有没有xx部门的同学?这不就联系上了么?
再换个思路,你只认识这个公司的人,不在这个BG
,那这个人总能帮你找到其他更接近这个BG
的人,对吧?
再换个角度,现在大厂号主这么多,这不都是你可触达的资源吗?有些人看到别人发公众号,推文章,可能想到的只是又是推文广告,不想看。有些人就懂得利用好资源。
再深一点讲,怎么把资源转化真正的人脉。简单来说,互利互惠,你对人家没有任何价值,指望别人帮助你么?当别人做慈善的?
你想让师兄师姐帮你吼一嗓子,可以,问题是,别人凭什么帮你?
所以自己平日里要做好口碑积累,自己价值提升了,才有跟别人对话的资格;别人号主发文,你连个在看都不肯点,你去找别人想让别人帮你(这些数据都有记录可查),你换位思考下,你帮么?
就我自己来说,平时点在看,甚至主动转文章到朋友圈的小伙伴,我其实都默默记着,有需要帮忙的,我肯定是能帮就帮的。
这里不是说让大家给我这篇文章点在看,转朋友圈,(当然你转了我肯定很开心),但是我写这些不是这个意思。我是想让大家明白,你要清楚你的定位,你随便找个小号主,尤其那种质量高,但还不火的,你去加他微信,每次他发文章都帮他转朋友圈,帮他大力推荐,你猜就算你问了脑残问题,他会不会帮你?
这里只是提供一点思路,抛砖引玉,大家一定要自己去思考,别盲目套用。比如这个做法换到大号主上大概率行不通,因为你这一丢丢流量对别人来说边际效益太低了。
这一部分其实我自己也做的也不够好,或者说这条建议需要持续去做,既是写给你们,也是自勉。
可能看完全文下来还是有一点凌乱,毕竟内容较多,我再梳理一下:
完。