作者hiigara (石头)
看板Soft_Job
标题Re: [请益] 後端作品请益
时间Wed Nov 3 23:45:23 2021
※ 引述《zxa426153 (点点点)》之铭言:
: 可以发文、点赞、留言之类的
: 目前完成比较有挑战性的功能有「聊天」及「hashtag」
: https://i.imgur.com/uBrLLqg.gifv
: https://i.imgur.com/aVVOxFC.gifv
: 作品连结:https://whynotwilson.github.io/simple-twitter-vue/
如果是我在面试的时候看到大概会像这样:
「名字是 Why not...why 先生你好,我是(略)
然後请你自我介绍一下,接着我们会从你的介绍跟作品开始问」
(一边听介绍一边偷点作品)
靠,这介面看起来漂漂亮亮的跟 appworks 出来的一样
是现成套件还是自己做的?
(翻 commit)诶好像是手刻的耶,等下问一下
(乱填资料)前端 <script> 可以 inject 进 DOM 但不会动?
後端一下没戳穿,前端手刻後端有用 ORM 或 prepared
statement 挡到煞吗?
诶怎麽没有後端 code...
啊後端在另一个 repo ,啊他自我介绍完了来不及看
「想先问一下,你这个前後端是自己手刻的吗」
「你怎麽自学的?都看哪些东西?」
(探学习的状况跟自学能力,到问不下去或是觉得同一个话题太久)
「你刚刚提到聊天跟 hashtag 是比较有挑战性的功能,请问你觉得
这两个功能(或是先只问聊天)的困难点在哪里?」
「你的范例是三个人聊天,如果人越来越多,多到系统开始出问题
你觉得最可能先出问题的地方在哪里?你觉得可以怎麽解决?」
「如果是首页河道很多人看,你觉得哪里会先爆?怎麽应对?」
(开始见招拆招,看回应再丢问题,扯到架构就递白板笔开始画图
可能从 sql 问到架构,甚至 cdn ,或任何跟网路服务有关的东西
也可能进设计题,出某个东西让你想该怎麽实作)
(问差不多或话题乾了)
「想问一下,如果我输入 <script>console.log("evil")</script>
会发生什麽事?为什麽这段 script 会/不会被执行?可能怎麽防御?」
「如果我输入『'or1=1--』会组成什麽 SQL?该怎麽应对?」
(没经验的人问安全性有可能话题乾很快...但还是先问看看)
......................................................
上面这堆如果问得顺就可以走个三四十分钟了。
推文里面说的「这东西本身看不出你的水准」某个意义上是对的
只看这个成品很难说你实际水准到哪里
但是这个作品看起来很好问,很容易看出你对作品的掌握程度
甚至也容易拉出你的各种整体知识。
如果整套东西你掌握度很够,不是套件兜一兜就完工
或者是你对用到的套件在做的事情一定程度了解
这是个很好的引子
反之,如果只是套件拉一拉知其然不知其所以然,或是一直回答
「文件这样我就这样,我也不知道为什麽」,那就很容易被放进
「很会装套件但实务不好用」的那个分类
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.47.10.156 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1635954325.A.C8E.html
1F:→ MoonCode: 我觉得面试官这样问可以 但是自己也要讲的出来怎麽解 11/03 23:51
2F:推 MoonCode: 还有系统哪里会出问题不是用猜的或感觉的 是需要跑测试 11/03 23:54
3F:→ MoonCode: 看数据 才知道 11/03 23:54
4F:→ hiigara: 基本概念是不要用文字操作组合出 html / sql 11/03 23:54
5F:→ MoonCode: prepared statement 有数量限制吗 11/03 23:55
6F:→ hiigara: 例如透过 dom api 而不是 document.write(只会香草 js 11/03 23:55
7F:→ hiigara: sql 就是用 prepared statement,ORM 也行 11/03 23:56
8F:→ MoonCode: 现在考这个 大部分框架都搞定了 就算抓到了这个 bug 我 11/03 23:56
9F:→ MoonCode: 觉得不是大问题 能写出来东西的执行力更重要 11/03 23:56
10F:→ MoonCode: 考官自己有作品吗 我每次都很怀疑 11/03 23:57
11F:→ hiigara: 应徵者如果从 profiling 开始会是大加分,若是没想法也 11/03 23:58
12F:→ MoonCode: 那你的问题还用误导的方式问 11/03 23:58
13F:→ hiigara: 可以直接出状况题。 11/03 23:58
14F:→ hiigara: 倒也不是误导,「想到哪里可能出问题」本身就是个技能 11/04 00:00
15F:→ MoonCode: 那你这样的问法会出什麽问题呢 11/04 00:02
推文有点难写,直接编辑
Ex:
「像是 DB 变慢?」
「可能原因跟怎麽解决,或你怎麽追?」
「先看 index 有没有中,如果 index 中了还慢就看是否 CPU 或 IO 吃满
cluster 或读写分离比较麻烦,可能会先选 scale up」
Ex2:
「frontend instance 比较小台,我猜那边会先吃满,可能可以先加开」
Ex3:
「可能要先 profile 哪里慢」
Ex5:
「恩...我,我不太确定耶」
「可能慢在哪里」原本就不是个有唯一答案的问题。
在意的是想到什麽,能提出什麽解法
跟现实生活一样
以 Ex1 的状况,如果能回答到这个程度
接下来就会问千人 concurrent 的状况,直接进设计题
但这就不太是非经验者的领域了
作品集通常是个引子,让面试者可以快速找到方向
看如何了解应徵者的能力到哪里,能力超过自己当然更好
而这里看到的作品,我觉得对於无经验者来说是个不错的引子
第一印象也不错,但只看这作品没办法直接拍板定案
只看作品不用问就能清楚看出实力的状况
通常不是大好就是大坏
※ 编辑: hiigara (114.47.10.156 台湾), 11/04/2021 00:21:55
16F:推 a12838910: 感谢分享 11/04 00:51
17F:推 sssyoyo: 推 11/04 01:00
18F:推 mercurycgt68: 推 11/04 01:50
19F:推 Tkukevin5566: 这篇很用心 推 11/04 02:54
20F:推 Belieeve: 感谢分享 面试真的就这样 要对自己作品很了解 11/04 07:28
21F:推 moszap: 推,很值的学 11/04 08:19
22F:推 DirtyVegas: 我觉得问题蛮好呀 可以有发挥的空间 11/04 09:20
23F:推 ian90911: 推 11/04 09:32
24F:推 pkro12345: 推 11/04 09:54
25F:推 devilkool: 问得很好啊 11/04 10:21
26F:推 vi000246: 由浅问到深 这作品的确满好问的 11/04 12:05
27F:→ vi000246: 比一些纯静态demo的作品好发挥 11/04 12:06
28F:推 ttss4092: 这样问後端算是好背答案的了,所以 CDN 实作要注意啥? 11/04 12:22
29F:推 nayeonmywife: 推推 11/04 12:34
30F:推 JocMon: 推 11/04 19:17
31F:推 aalxxss: 推 获益良多 11/04 19:46
32F:→ DrTech: 考管有没有作品,与验证双方能力无关。考官有没有作品也与 11/04 21:25
33F:→ DrTech: 你能不能拿到 offer无关。 11/04 21:25
34F:→ DrTech: 同样的面试者也可以不拿任何作品证明自己能力。也没什麽, 11/04 21:31
35F:→ DrTech: 问对问题就好。 11/04 21:31
36F:→ DrTech: 原文什麽资讯都没有,之露出一个作品,当然大家就只能寻这 11/04 21:35
37F:→ DrTech: 条线互相了解了。 11/04 21:35
38F:推 u04fup: 推这篇,其实你就是面试官吧XD 11/05 10:09
39F:推 zxa426153: 感谢分享 11/05 11:07
40F:推 lchcoding: 新进者,sql injection 方面的东西,最好预先了解一下 11/12 11:04
41F:→ lchcoding: ,这个世界除了程式设计师,还有骇客 11/12 11:04