※ 引述《richard07250 (blazing)》之銘言:
: Soft_Job版惠我良多,剛好趁最近要轉職來分享我第一份正職工作得到的經驗
: 第一次發長文,如果排版傷眼還請見諒
: 背景介紹:
: 私立科大(明志)畢業,在校實習一年(app測試基本沒有技術性),全端工作經
: 驗一年半,正在跑離職手續,也確定下一份offer了
: 後端:Java+Spring 稍微玩過一點Node Js.Python
: 前端:JavaScript AngularJs
: 這篇文是給誰看的?
: 如果剛畢業不知道要怎麼進入這個行業,或是想要轉職找不到方向,希望我可
: 以給你們一點幫助
: 導覽:
: 首先第一件事請打開你的Google,他是所有工程師最好的朋友,要習慣跟他相
: 處,在這篇文中,如果遇到你/妳看不懂的詞彙,請問問google老師,不要求
: 要完全搞懂這個詞在幹甚麼,但至少要知道它在幹嘛,這對面試很有幫助
: 紅色 標註我認為一定要知道的名詞,有空最好學會
: 黃色 是知道一下,不一定會用到的東西
: 本文開始
能有這樣循環式的回饋真是太棒了 :)
: 一. Java後端
: 現在後端語言到底哪個比較優勢還是眾說紛紜,不過應該不會有人否認Java絕
: 對在台灣占有很大的市場,如果沒學過Java這個章節可能會看得有點痛苦,如
: 果是學C#之類的後端語言,可以直接跳過了
: 剛畢業的大學生在校學的語言可能是C C++,我也是如此,進入第一間公司的時
: 候我是完全不會Java的狀態,也非常慶幸可以遇到一間願意培養的公司
: 假設你已經學會基礎的Java了,進入企業第一個一定要聽過的是
: Spring,非常多企業級後端都是使用這個框架,Spring大幅的改變
: 了寫程式的概念,核心思想Inversion of Control還有容器的概念
: ,剛入門的時候可能有點不直覺,了解這些概念會是第一個門檻
還有大量的 Template Method Pattern
跟後來加入 DDD 的 Repository 概念
: 接下來是Database,我遇到的現象是企業都以為畢業生會用DB,可是通常
: 不會,在學會Spring之後,通常你會需要一個ORM來跟DB作互動(當然也有人直
: 接使用JDBC),簡單來說ORM就是幫你把DB裡面的資料轉換成物件的型態,讓
: Java可以直接使用,我使用的是MyBatis,大多數企業在使用Hibernate
: ,基本上只要學會一種,要換學其他ORM會快很多
其實也越來越多老手反而不太用 ORM 了,或是說不直接使用 ORM 的東西。
但還是要看 team 內實作目標的走向,
如果是偏大量統計資訊的東西,raw sql 會比較方便
或是專案初期,要快速建立 model (或傳統的 term: entity relation)
時用 ORM 會相當的迅速,但之後效能調整時,再適情況要不要改寫
在 DDD 融入後,抽層再上一層的 Spring Data Repositories
^^^
(感謝版友指出 typo)
是比較需要認識的,但下面的實作可以是 ORM 或其它 no sql 的 solution
但因為 Java EE 專案都比較長壽,若是偏金融類的,那可能要學一下
相對 old fashion 的 hibernate,經典值得一讀再讀
Java Persistence with Hibernate 2nd Edition
by Christian Bauer (Author), Gavin King (Author),
Gary Gregory (Author)
另外,不管 DB 是直接用 Hibernate 是,API 層的 JPA 它還有個簡單的好處。
(JPA 提出後 hibernate 漸漸開始相容它)
只要寫的 sql 語法夠通用,可以抽換正式的 db 與 in-memory db
直接跑 unit test (這其實算偽裝的整合測試)
在初期有用,後期上了最佳化的 sql 後,可能就不能完全相容 in-memory db
: 跟前端互動的Web Framework(台灣好像很少用這個詞不過一定會用到),它是後
: 端程式跟前端網頁互動的關鍵,比較主流的有Spring MVC.Struts 2
如果不幸你的公司有在用 Struts 2,那就塊陶吧。
http://bit.ly/2HYz8vB <== 年年都很精采
若你逃不了,先確認 Struts 2 是對內服務,還是對外服務。
對內的,那還勉強可以忍一下,先問公司有沒有偷樑換柱的計劃
沒有的話,再問,是否會需要開發 Strtus 2 的東西
若你不用參與,那勉強可以再留一陣子。
: 前後端互動有分兩種是Server-Side Rendering跟Client-Side Rendering
: 這個就比較進階了
: 打到這邊有點累了 如果大家覺得這種文章有一點用的話我過幾天繼續寫XD
: 預計還會寫 前端.一些基本電腦常識.面試的技巧
稍為補充了一下 :) 期待後續^^