有太多知识要补,只好先偷懒,上个 roadmap 好了。
https://github.com/kamranahmedse/developer-roadmap
借用一下前面 TonyQ 截录的推文
→ haposa: service是什么,可以教一下吗? 09/23 15:33
→ TonyQ: 就 API or WSDL ~ 09/23 15:34
在 Web Application 制作的这个 Context 下,
Service 其实可以泛指的是 Backend 相关的工作。
其中较为具体的容易用来入门的部分,就是实作 API
不管是有标准型式的 Web Service (SOAP, WSDL)
或是以 Entity 与 Resource 为核心的 RESTful API
还是自由自在任意规则的 Web API (不强制遵守 RESTful 语意)
大致上都是由 client 端打来 server 端问事情,
然后 server 端回答些资料给 client 端的情境罢了。
而后端的范围中,又以状态的保存最为重要。
其中广泛被使用的就是关联式数据库,
我猜,这也是为什么 TonyQ 在另一篇推文直接问你 db 熟不熟。
我大胆推测,应该是觉得你前端的方向没戏了
不如运用你过去学过的东西,来拼拼后端的方向吧。
→ haposa: 这网页是面试用的,其实算还好吧,另外通用是什么? 09/23 15:34
因为时代的演变,前端与后端开始发展出更复杂的技术
不像早期,比较会刻 Web UI 的人,需要被要求懂一点后端
或主要工作在写 Server 端的人,被要求要改前端的画面
还是更衰小的 Designer 被要求要摸 Web UI 与后端。
时代开始朝专业分工的路在走,
你目前手刻的 css、javascript 与 html
则是处于在‘练习’阶段要做的事
实际上会使用 framework 或 code generator 来制作
它将独立的 css 或 javascript 以更高阶的层次在沟通
而非像刚学说话的小孩,一个单词一个单词地沟通。
以较大块的 building block 堆出成果。
我们开始能讲出句子,或以抽象的名词来表达
这些提升与精化的内容,即为通用性。
→ haposa: 可以说一下我API要提供什么东西吗,我没做过API不清楚 09/23 15:36
他只是建议你走后端,并不是打算叫你实作个什么 API 来端详。
由最近的文可以看得出来,他在试着找 C# 后端工程师。
对比上你先前的经历,具有编译式语言的经验,
你要再去摸相似,但更高阶的 C# 应该是有助益的。
以‘背景知识’的量来说,它会比你去转你完全不熟的领域要有效率多了。
所谓的背景知识,就是你先前习得的知识,并且其中可以用来辅助你
学新的东西的部分(或是你先前没学过,你新的东西不太可能学得好的部分)
对于使用编译式语言来说,‘假设’你应该要知道一些编译流程的重要部分
例如:知道要设 library (header 与 library 的 search path)
并能由 error message 判读是程式写坏了,还是 library 没有找到
或是实作上的品味:
有良好的 module 规划能力与相关性管理的 sense。
→ TonyQ: 你说还好就还好啦,另外你现在少了一个面试机会,恭喜你。 09/23 15:39
→ haposa: 我对WEB不熟,能否教一下,我知道现在网页都很漂亮 09/23 15:40
→ haposa: 我是在求职,不是自己创业,这网页是做For求职的 09/23 15:41
虽然你不求‘包装’,但面试的材料基本要做到隐恶扬善
你可以承认你不完美,但不用把缺点展漏无遗。
→ TonyQ: 你知道 web theme 是什么吗? 如 bootstrap 之类的 theme 09/23 15:41
→ haposa: API我只知道是提供JSON给人家捞资料 09/23 15:42
→ haposa: 我要提供什么东西,我不清楚 09/23 15:43
→ haposa: API我有说我的认知只有那样,您没回我说我要加什么API 09/23 16:33
→ haposa: 我又不是开公司,怎会有业务内容,那要提供什么API 09/23 16:34
→ haposa: 可以提供一下吗 09/23 16:34
这里还只是在期望你对 API 的实作有些概念,
而不是具体来说你要实作些什么 API。
若非要说些什么建议,你得对于选用的工具上的弱项来加以研究
面试的本质就是一种测试,一种攻防。
过程中对手会看着你手上的武器知道哪些弱点,
会针对这方向给你展示实力的机会,若你能证明你有 sense
工作自然会到手。
举例来说,你用的是 PHP 与 Laravel。
那它们常见的 OWASP 列出的对应问题,有哪些是有方便的工具能解
有哪些是还没有统一的处理方式,所以需要 Programmer 来选择。
目前虽然说这些似乎太早,
但其实我也是趁放假闲闲,简单弄个纪录。
跟你有相似困扰的人,也许会觉得有帮助吧!?