Soft_Job 板


LINE

※ 引述《s77485p (快樂豬)》之銘言: : 大家好 : 近期在面試新的機會,也發現了一些問題 : 小弟目前是工作一年多的小菜鳥 : 主要做後端跟電腦視覺應用 : 我想請教各位前輩,大家會為了面試去特別學新技術嗎? : 例如我看到一間公司的JD,他們是用Java寫後端,但是我本身是用Python : 理論上我自己私心認為設計API或是cloud的原理應該差不多 : 只是差異在用什麼語言實作 : 但是好像還是有一些公司會在意沒有該語言的基礎 : (當然更有可能是我太淺看不出其中差異XD) : 可能是上手時間的差異,畢竟junior還是碼農的工作XD : .... 不太懂為什麼一堆Java擁護者會覺得Python 沒有OO的概念一樣,Python 一樣可以做封裝 、繼承、抽象化, 抽象化(介面、抽象類)可以import abc類的lib實現, 封裝python 也有自己getter setter的方式, 繼承就不用說了,一樣也有。 而且我自己Java、python 都有寫,個人認為差異沒到需要重學的概念。 就像我上份工作的SA一直跟我說Python 動態型別很爛啊,我說如果動態那麼糟,那Java1 0加入var的概念要幹嘛。而且現在的Python 也不算是真正的動態,3.5你可以用typing l ibrary 引入型別檢查,3.6以後就可以 變數:[型別],這樣去指定了,反而所有語言 動態跟靜態的概念越來越模糊了,支援性越來越多。 至於Spring ,我之前用Flask一樣能做出仿Spring 的框架(會說仿的原因是我專案沒用 到的功能,我就懶得實現了)而且Flask一樣能實踐大型網站框架,flask真正的概念是輕 量化,但不代表他沒辦法實現大型網站框架,就是你要自己寫,自己定架構而已。之前去 面試,竟然有主管直接跟我說Flask沒辦法實現大型網站,真心覺得他可以砍掉重練了。 Python 跟Java目前唯一的差異就是規範性的強弱而已,Python 不太管你的規範,他的核 心概念就是你自己定義你的風格就好,相反的就是Java比較怕你不照規矩來,所以才有這 樣強烈的規範在。 我自己是Python 跟Java兩個都有寫的人,我不認為語言的特性真的有差異到需要重學的 概念,基本核心觀念有,反而很多語言是可以互相借鏡參考的。但是我不認為需要為公司 重學新東西,除非你真的想學。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.176.69
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1556241367.A.E55.html
1F:推 x246libra: 想請教一下 想更加搞設計模式 或 物件導向 04/26 09:18
2F:→ x246libra: 學py來了解上面這些概念OK嗎? 還是說學java比較可以 04/26 09:19
3F:→ x246libra: 抓到上述的精隨? 04/26 09:19
4F:推 abccbaandy: 你文章中寫的"唯一的差異"就差很多了,每個人都有自己 04/26 09:37
5F:→ abccbaandy: 的風格,你要怎麼維護別人的code? 04/26 09:37
6F:→ y2468101216: 各大 linter 表示: 04/26 09:44
7F:推 alihue: java var 是強型別吧,只是方便簡寫。py 可以寫OO,但沒人 04/26 10:11
8F:→ alihue: 會拿py這樣寫好嗎?寫出來也超難維護 04/26 10:11
9F:→ alihue: py是寫很快啦,但如果遇到效能很重要的應用,根本沒人選py 04/26 10:12
10F:推 plsmaop: 原來 py 沒人寫 OO,可能我平常不太寫 py,跟少讀 py, 04/26 10:14
11F:→ plsmaop: 我讀過的都是 OO的 py QQ 04/26 10:14
12F:→ vi000246: python沒什麼規範 private的變數外面也能存取 04/26 10:15
13F:→ vi000246: 遇到多人合作 有人不照規範hard code的就GG了 04/26 10:15
14F:→ sxy67230: 這些風格的東西本來就是公司內部自己定義就好啦,Python 04/26 10:28
15F:→ sxy67230: 有pylint是很好用的東西,比較新式的語言都有這種概念 04/26 10:28
16F:→ sxy67230: ,沒必要糾結在護航哪個語言上,所以我才一直強調語言 04/26 10:28
17F:→ sxy67230: 的基本概念才是每個軟工應該琢磨的東西。 04/26 10:28
18F:推 superpai: 所以你自己出錢的話,你會不會雇只寫過Py的人來寫Java? 04/26 10:28
19F:→ legendmtg: 最近在改一堆寫java出身的人寫的python code 04/26 10:38
20F:→ legendmtg: 一堆多餘的糞code.... 04/26 10:38
21F:推 weinine32: 認同你的觀點,但你的“唯一差異“原因,讓我認為想當 04/26 10:45
22F:→ weinine32: 後端工程師,不適合從Python開始,因為會養成壞習慣, 04/26 10:45
23F:→ weinine32: 很多人就是這樣走歪。何況很多公司還在用python2 04/26 10:45
24F:推 legendmtg: 什麼壞習慣XD 寫Java那套OO就是好習慣嗎XD 04/26 10:48
25F:推 legendmtg: 像我寫C++ python出身的 才覺得Java出身的人一堆壞習慣 04/26 10:57
26F:→ weinine32: Java我不懂,沒辦法提供建議 XD 04/26 11:15
27F:→ sxy67230: Google自己的最新風格指南可是很強調OO的概念喔,我不 04/26 11:23
28F:→ sxy67230: 覺得Py寫OO會很難維護,習慣性的問題而已 04/26 11:23
29F:→ sxy67230: 不過我承認Python 易學難精,他可以寫得很簡單,也可以 04/26 11:26
30F:→ sxy67230: 封裝的很漂亮,確實不適合初學者,但是我不同意一直護 04/26 11:26
31F:→ sxy67230: 航某語言而貶低別人的概念 04/26 11:26
32F:推 ripple0129: Py沒人寫OO?真的有用py寫過專案嗎? 04/26 11:32
33F:推 thefattiger: py已經很適合初學者了,語言只有易學難精跟難學難精 04/26 11:43
34F:推 alihue: 說 java 引入 var 是動態型別,就知道沒有熟 java。 04/26 11:52
35F:噓 YahooTaiwan: Java 的 var 也是強型別吧 04/26 12:12
36F:推 shps951015: C# dynamic才是動態型別,Java還沒有動態型別功能 04/26 12:26
37F:推 iiiii: SDK啥語言就寫啥啊 04/26 12:32
38F:→ peter9s3b: 說沒看過用py寫oo的是真的有看過嗎... 04/26 13:08
39F:→ vi000246: python可以寫OO 只是跟強型別的比起來 是半殘的OO 04/26 13:14
40F:推 moonblack: python真的易學難精... 不過每套語言要精通都很難啦 04/26 13:24
41F:推 ZAXUS: 自己寫可能沒感覺 但我讀別人的code最討厭看到auto跟var 04/26 13:30
42F:→ thefattiger: 寫C++不用auto我會想殺人 04/26 14:07
43F:推 mdkn35: python不用OO 是要堆def喔? 04/26 18:14
44F:推 Sunal: go才是沒OO吧 04/26 19:07
45F:推 Sunal: 很多人在說的py很可能只是打開jupyter notebook下指令在用 04/26 19:09
46F:→ Sunal: 的 04/26 19:09
47F:推 Sunal: 到底寫py會有什麼壞習慣? 04/26 19:12
48F:推 brianhsu: Var 只是 type inference ,不是動態型別,差很多滴。 04/26 19:48
49F:推 iwami: python有OO啊 但是半殘 入門還是JAVA簡單一點 04/26 23:10
50F:→ ericwang1017: 說動態型別差的遇到(研究compiler)強的的會被電到飛 04/26 23:23
51F:→ ericwang1017: 天 / OO是種態度 04/26 23:23
52F:→ twilighthook: 就大家寫的領域和看的方向不同使用方式都會有差異罷 04/27 01:04
53F:→ twilighthook: 了 04/27 01:04
54F:→ red0210: Python 的 OO 哪裡半殘? 04/27 04:54
55F:→ okd: python不適合初學者 我還真想不到哪個語言比python適合 04/27 08:10
56F:推 brianhsu: Ruby 啊!我個人私心認為 Ruby 比較漂亮,雖然我沒在寫 04/27 08:18
57F:→ brianhsu: 。XD 04/27 08:19
58F:→ okd: OO應該也沒半殘 但開interface語法就已經不直接了吧 04/27 08:21
59F:→ sean50301: python寫oo哪裡難維護... 04/27 09:33
60F:推 doranako: 我覺得這兩個語言有很大不同,深入理解真的需要花時間 04/27 10:08
61F:→ sxy67230: Python Interface 用久了也沒那麼不直接啦,可以看看py 04/27 10:26
62F:→ sxy67230: 成熟的libary他們有很多實作介面的思考方式,很值得學 04/27 10:26
63F:→ sxy67230: 習。 04/27 10:26
64F:推 brandyjohn: 我會雇寫cpp的人 04/27 10:28
65F:→ sxy67230: 對Java var的理解我可能還不熟,這一塊我確實應該重新 04/27 10:29
66F:→ sxy67230: 思考加強,謝謝Java前輩的指教。 04/27 10:29
67F:→ sxy67230: 至於有人提Java Python 哪一種學OO比較適合的問題,我 04/27 10:36
68F:→ sxy67230: 個人認為沒有太大差異,你應該是要重新思考OO,回到OO 04/27 10:36
69F:→ sxy67230: 的本質。我看過一堆新手為OO而OO的就有點本末倒置了。Py 04/27 10:36
70F:→ sxy67230: thon 學OO的話,去看人家的Library (我很喜歡看別人大 04/27 10:36
71F:→ sxy67230: 神的code,看哪些思想值得學習),看看各大Python 使用 04/27 10:36
72F:→ sxy67230: 的大廠的coding Style guide 。 04/27 10:36
73F:→ sxy67230: 最後,有人提到關於雇用哪一種人,我自己是企業主的話, 04/27 10:55
74F:→ sxy67230: 我會雇用語言概念正確,自主學習速度快,邏輯調理清晰 04/27 10:55
75F:→ sxy67230: 的人。如果他是寫Python 就問他Coding style的概念是否 04/27 10:55
76F:→ sxy67230: 正確,是會著墨自己的Coding能力的人,還是隨便的人。這 04/27 10:55
77F:→ sxy67230: 樣的人才會自我思考進步。 04/27 10:55
78F:→ Mchord: 寫出來東西爛是人的問題不是語言,Python的原罪只是沒那 04/27 11:32
79F:→ Mchord: 麼嚴格所以比較多習慣不好的能靠它吃飯而已 04/27 11:32
80F:推 iven00000000: OO只是概念,我最開始是學Java的,我認為Java為了 04/27 12:02
81F:→ iven00000000: 完善它想要的OO架構,存在一堆冗餘的元件,對新手 04/27 12:02
82F:→ iven00000000: 來說反而很難懂。Python沒有private,public關鍵字 04/27 12:02
83F:→ iven00000000: ,但是有用命名規則跟porperty做到一樣的概念。OO 04/27 12:02
84F:→ iven00000000: 本來就不是依賴編譯器報錯來判斷有沒有寫錯。 04/27 12:02
85F:推 Argos: OOP的好處 其實是要團隊奉行良好的「規範」才能體現出來的 04/27 14:14
86F:→ Argos: 程式語言作者考量的點不同 就會影響語言本身對於OOP規範的 04/27 14:14
87F:→ Argos: 盛行與否 但是 能否享受到OO的好處 跟語言本身其實沒多大關 04/27 14:16
88F:→ Argos: 係 主要還是在於團隊是否有「照規矩來寫code」 04/27 14:16
89F:→ Argos: 這個規矩可以自己訂 但訂了大家就是要遵守 你不屌規矩 再怎 04/27 14:17
90F:→ Argos: 麼嚴謹的語言也是寫得亂七八糟 04/27 14:17
91F:→ Argos: 但通常人們都把寫爛掉的OOP怪罪於程式語言上 講這個語言OO 04/27 14:18
92F:→ Argos: 很難寫 殊不知都是自己的問題 你就是個不合群不專業的碼農 04/27 14:19
93F:→ Argos: 不照規定乖乖努力寫code 硬要用一堆奇怪的慣例和架構來表現 04/27 14:19
94F:→ Argos: 自己聰明過人 能想出別人想不出的精妙玻璃城堡 但華而不實 04/27 14:20
95F:→ Argos: 老實講 95%的軟體工程 根本不需要「聰明人」 尤其是那些自 04/27 14:21
96F:→ Argos: 以為聰明但實際上根本是個智障的 軟工需要的是嚴謹努力認真 04/27 14:21
97F:→ Argos: 的工匠 04/27 14:22
98F:推 jack529: Python寫不好真的會醜到有剩XD 04/27 14:25
99F:推 goldflower: 原來沒人用python寫OO也很難維護 算是開了眼界 04/27 15:08
100F:推 Masakiad: 會說軟體架構不需要聰明只需要努力認真,肯定不知道一 04/27 17:28
101F:→ Masakiad: 個好架構造成的產值是可以1抵10以上的。這不是死幹活幹 04/27 17:28
102F:→ Masakiad: 這麼單純的問題 04/27 17:28
103F:→ thefattiger: 好架構是建立在經驗上,聰明還真的幫不太上忙 04/27 18:19
104F:推 Masakiad: 努力認真跟經驗又是兩回事,而經驗也是運用腦力經過時 04/27 18:48
105F:→ Masakiad: 間後內化堆積的。不是什麼努力認真就可以達成這麼單純, 04/27 18:48
106F:→ Masakiad: 也因此才會有10年經驗的高手與10個1年經驗的新手。不要 04/27 18:48
107F:→ Masakiad: 小看架構這回事 04/27 18:48
108F:推 nova06091: 就是一群農夫在比誰的鋤頭比較潮 04/27 18:49
109F:推 brianhsu: 醜到有剩是人的問題,之前經手過比醜到有剩的 Python 還 04/27 19:41
110F:→ brianhsu: 要醜的 Java...沒有一致的縮排,函式的參數型別是 Objec 04/27 19:41
111F:→ brianhsu: t, 一個函式四五百行,而且還有另一個跟他幾乎一模一樣 04/27 19:41
112F:→ brianhsu: 的 copy paste 分身函數。命名 camel case 和底線挑順眼 04/27 19:41
113F:→ brianhsu: 的用,當然也少不了大家最喜歡的用加號組出來的 SQL inj 04/27 19:42
114F:→ brianhsu: ection。看的我都不好意思說 Python 醜,人家可是規規矩 04/27 19:42
115F:→ brianhsu: 矩地把程式縮排好了呢。 04/27 19:42
116F:噓 leave10123: 型別的動態靜態與強弱是不一樣的東西吧 04/28 15:12
117F:推 zebraseven: Python 就也能做到 OO 沒錯 04/29 16:06
118F:→ zebraseven: 就算沒人想把它這麼寫 他還是OO 04/29 16:06
119F:→ zebraseven: 別跟半桶水的吵了 04/29 16:06
120F:推 tsao1211: 都有OO 別爭了 04/29 20:56
121F:→ oscar90702: 就個人實務經驗,Python相較Java真的是殘缺的OO 04/30 17:55
122F:→ meowyih: 就算用ansi c也一樣可以做封裝繼承抽象(認真) 04/30 18:24
123F:推 mew109: 想知道什麼是殘缺的oo+1 05/02 09:39
124F:噓 pig2014: py最大的問題是效率以及GIL,門檻低的東西一定有毛病 05/04 00:24
125F:噓 pig2014: 真男人都寫C++,Java跟C#也都不錯,有自己的完整架構。py 05/04 00:34
126F:→ pig2014: 其實就是拿來快速開發做不追求效率的垃圾事,做抽象設計 05/04 00:34
127F:→ pig2014: 比Java廢太多。會說很好用大概你常常也沒去管design patt 05/04 00:34
128F:→ pig2014: ern 05/04 00:34
129F:噓 pig2014: 講個最簡單的,要實現Singleton,在Java裡就很優雅,只要 05/04 00:53
130F:→ pig2014: 把物件直接宣告為靜態並且把constructor設為私有就可。在 05/04 00:53
131F:→ pig2014: py裡居然是執行期才做處理,而且py在靜態區直接賦予非Non 05/04 00:53
132F:→ pig2014: e的物件還常常會出現奇怪的特性,更不用說如果再考慮多線 05/04 00:53
133F:→ pig2014: 程,Java還有synchronized勒,你py要自己慢慢上鎖然後最 05/04 00:53
134F:→ pig2014: 後還硬塞一個GIL給你 05/04 00:53
135F:噓 pig2014: 反正結論就是,不是不能實現,而是py的語法就是不夠鼓勵 05/04 00:58
136F:→ pig2014: 嚴謹。大概就是彈性與嚴謹中間取個平衡點,外加超低效率 05/04 00:58
137F:→ pig2014: 。py相較於Java我最喜歡的大概也只有@property跟特定的op 05/04 00:58
138F:→ pig2014: erator overloading,但是沒有function overloading對OO 05/04 00:58
139F:→ pig2014: 來說也真的是垃圾 05/04 00:58







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job 或 站內搜尋

TOP