有太多知識要補,只好先偷懶,上個 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 來選擇。
目前雖然說這些似乎太早,
但其實我也是趁放假閒閒,簡單弄個紀錄。
跟你有相似困擾的人,也許會覺得有幫助吧!?