[心得] 如何问( google )问题

楼主: y2468101216 (芸)   2017-08-29 18:08:49
老样子一样放在 gist,这篇是我一直很想写但写不好的。
原文网址:
https://goo.gl/mizaKs
以下正文
# 分析问题
## 前言
如果你有在网络找过如何问问题的话,你应该会找到泛用的回答。
而这边要讨论的是如何对 Google 问问题。
会写这篇是因为我发现很奇妙的有些工程师比我还老,
但却不太用 google,常常问一些 google 就有答案的问题。
## 问问题的技巧
有几个原则 :
1. 用英文
虽然是老生常谈,不过你都用英文写 code 了,资源当然是国外比较多
2. 专有名词
基本上问题会随着你的语言、框架而有微妙的差异。
比如 php & java 就不太一样,虽然都是 programming language
3. 不要用句子
用句子会导致你失去一些答案,因为每个人问问题的语句都不一样。
(Can I take out? Can I take away?)
除非你想要找的就是那种topic的标题。
4. 分解到不能再分解为止
一般而言问题常常是有点笼统的,这时你必须把问题拆成几个单字内
(一般来说我倾向五个单字内)是最好的。
这样可以把问题简化,也可以直捣问题核心。
## 简单例子 : == 跟 === 的 异同之处
首先先转换成英文
1. 等于 为 equal
2. 运算子 为 operator
专有名词这边是 php
然后不能在分解下去了
所以大概要喂 :
```
equal operator php
```
## 复杂例子 : 网站产品页读取缓慢
首先先拆分,一般来说这问题可以先拆成四部分。
1. 前端
2. 系统
3. 后端
4. 数据库
从前端开始看起
1. 使用者使用的是桌面还是行动版
2. 使用者网络稳不稳定
3. 使用者的浏览器版本
4. js 过于肥大
5. 图片是否为第一次读取
6. etc...
好的让我们稍微等等,你应该意识到这个问题过于复杂,问题有很多个,应该要每个都问吗?
## 问问题的成本
我很喜欢钢之炼金术师的一个真理:等价交换原则。
任何事情皆有代价,问题只是在于这个代价由谁支付而已。
那要如何评估问问题的成本?这里我们可以从几方面来看
1. 时间方面
有没有听过一句话:什么都急,就付你钱的时候不急
如果你有时间上的限制的话,你应该选择那些时间成本很低的问题。
一般而言你越熟悉的领域,你问的问题会越精准,矫正时间成本会越低。
2. 金钱方面
有钱不是万能,没钱却万万不能。
所以你公司没钱的话,还是不用问 load balancer 这种东西了
3. 困难程度
即使是你熟悉的领域也有分困难程度的,比如把 mysql 转换成 mssql 远比优化 sql 来得难多了
你应该优先选择那些困难程度低问题。
困难程度有时不是只考虑技术方面,人的部分也要考虑。
## 最后的抉择 - 经验法则
往往在估算完这些以后,还会剩下几个选项,从哪个开始问才是最好的?
答案是有规则的猜他,而这个就依赖你以前的经验了。
如果你有空可以多看看 reddit 、 hack news 之类的,看国外是怎么问问题的。
看书也有助你有规则的猜测,对于问题发生的环境了不了解也很重要。
## 回到复杂例子
首先假设这个问题是你家的 PM 丢给你的话,则环境在台湾,由于台湾盛行吃到饱跟一年换一次手机,可以先排除纯行动端问题。
如果是网络不稳的话则无解,所以这个问题也可以排除。
系统硬件部分公司有钱的话可以考虑,排在顺位低的列表。
系统软件的话考虑困难程度,排在顺位低的列表。
后端部分,因为更换后端语言各方面成本太高,所以列在顺位低。
优化语法成本比较低,排在顺位高。
数据库部分,笔数高低直接影响效能,且语法查询也影响效能,排在顺位高。
图片往往也直接影响速度快慢,排在顺位高。
所以我们可以直接得到一个顺位:
1. 图片快取
2. 后端语法优化
3. sql 语法优化
然后就依照你对架构的暸解开始猜测哪个问题是正确的。
## 总结
依台湾的情形而言,大概有90%的问题可以在网络上找到一样的,
所以问题在于你要怎样去找到这些已经问过的问题,
以及在于你要花多少时间成本下去找。
作者: Boston (Boston)   2017-08-29 18:33:00
ok google
作者: cryinglove (毓™)   2017-08-29 18:59:00
赞~google
作者: del680202 (HANA)   2017-08-29 19:01:00
hey google
作者: kaitokid1214 (羽)   2017-08-29 21:08:00
感谢分享心得~一直无法像前辈们快速的google到想要的解答而很烦恼
作者: Csongs (西歌)   2017-08-29 21:51:00
how google
作者: mdkn35 (53nkdm)   2017-08-29 22:23:00
推推
作者: IhateOGC (我讨厌)   2017-08-29 22:32:00
how to key world in google search bar
作者: dick8101070 (姆咪是否过誉了)   2017-08-30 00:04:00
老实说这能力应该大学就要培养好了(不论文理组)因为下关键字查资料弄报告应该是基本吧..
作者: SimonAllen (西蒙˙艾伦)   2017-08-30 00:19:00
推 但也同意楼上 大学还不会google英文重点关键字大概就是分组报告不负责做 只负责上台讲结果出社会工作后..哇赛不会google的人还超多
作者: buper (ymsrc)   2017-08-30 07:38:00
用英文找真的比较多
作者: hsnuonly (附中only)   2017-08-30 08:50:00
有的时候用句子会有意想不到的结果
作者: rx1304 (^_^)   2017-08-30 10:21:00
谢谢分享
作者: gnihtontsuj   2017-08-30 12:11:00
推 XD
作者: fishlinghu (令狐瑜)   2017-08-30 12:22:00
大学就用的滚瓜烂熟了XD
作者: pttworld (批踢踢世界)   2017-08-30 12:55:00
谷歌的训练是透过组合关键字,让答案网站出现在第一位。
作者: johnny94 (32767)   2017-08-30 13:06:00
其实现在用一些短句子也可以找到很好的结果
作者: LikeCherry (樱桃)   2017-08-30 13:29:00
如果要找中国那边的技术资料 几乎都被内容农场淹没是不是用百度比较好? 还是有什么过滤方式?
作者: tennyleaz (tenny)   2017-08-30 15:06:00
stackoverflow发了不少问题,但是也有被Downvote的,超丢脸XD
作者: qrtt1 (有些事,有时候。。。)   2017-08-30 15:38:00
根本在于该看的书没看过,以致于不知道用什么 term 吧。
作者: s860134 (s860134)   2017-08-30 19:46:00
以前引擎空格会视为 and ,用句子根本没意义
作者: jj0321 (JJ与你倒数唷)   2017-08-30 19:54:00
结论: 英文要会 原文书要看得多
作者: LikeCherry (樱桃)   2017-08-30 22:55:00
感谢回答 您内行! 后来在知乎上看到相关的问题 知道要用哪些关键字
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2017-08-31 23:57:00
教学文件或是书至少也要看过 才知道关键字是什么
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2017-09-01 11:50:00
推 很重要 虽然我关键字都翻文件的时候沾一点沾一点积起来的
作者: jason710068 (综合水果汁z)   2017-09-02 19:29:00
有时候关键字都不知道该怎么下的时候再试试打句子也可以

Links booklink

Contact Us: admin [ a t ] ucptt.com