Re: [心得] 面試心得(2017/10)消失

看板Soft_Job (軟體人)作者時間8年前 (2017/11/10 00:38), 8年前編輯推噓13(13037)
留言50則, 17人參與, 最新討論串2/2 (看更多)
※ 引述《y2468101216 (芸)》之銘言: : 原文參考gist : https://gist.github.com/y2468101216/f928d459b91968d55cf7861bc0e6e99b : # 面試心得(2017/10) : 順序跟面試順序無關 : ## 104人力銀行 90W/Y : 從 linkin 上找我的 : 一開始有 Codility 的測驗,基本上跟 leetcode 很像,題目都是英文的, : 一共有三題我只講第二題,因為其他兩題很簡單無難度。 : ``` : 給你一個任意長度的一維陣列A,求A中兩元素相減的最小正整數。 : EX [1,8,3,10,15] : 答案為 3-1 = 2 : ``` : 這個題目很明顯的是座標軸上任意兩點最近距離 : -[wiki](https://en.wikipedia.org/wiki/Closest_pair_of_points_problem) : 所以我暴力把他解掉了,wiki 上有暴力解,可以直接看。 : 所以雖然我有解開但是分數很低,時間部份扣得很嚴重。 : 通過了會叫你作一個多達500以上的心理測驗, : 裡面有一些違反勞基法的題目,這個會要求你在面試前做好。 : 面試部份 : 一開始會是兩個主管+工程師面試,基本上不外乎一些面試老梗問題,不多撰述。 : 工程師有問我 request life cycle ,一開始我還不知道他在問啥,我以為再問 php : life cycle,他後來有說是問我怎樣決定哪些功能放在哪裡? : 比如說 login module 之類的要放在 middleware 或者一開始的 bootstrap : 這邊我回答不好,因為我根本沒搞懂他的問題。 : 我有問工作內容,他們有說要做 open api 或者讓我維護內部系統。 : 後來會換HR進來,因為我一開始在那等時就有拿104的福利介紹給我看,所以我沒啥特別 : 問題要問。 : 他有特別問說我在 laravel conf 講者的經驗,並且提到說104也致力於 opensource 跟 : 鼓勵員工當 speecher。 : 結論:感謝函一張 : ## 預約科技 90W/Y : 上面寫著 產品用 php7.1 + 20年軟體經驗創辦人,讓我有興趣。 : 跟我約在星巴克咖啡廳,因為等等要到遠傳開會。 : 進去聽他講了一個多小時的商業模式,主要是作美容業的 ERP, : 最後問他有沒有問題要問我的, : 他說我根據你的談吐跟履歷想必是沒問題,直接給我口頭 offer : 我覺得有點不安,問他 RD 有幾個人, : 他說上一個 RD 生病住院了,只剩一個打工兼職的。 : 我說那不然我們先兼職合作。 : 兼職後才發現各種地雷,不會用 pull request , 沒有安裝文件。 : 後來幫他把安裝文件做好後,跟他說修一個 issue 要 8000 元以後就沒下文了。 : 結論 : 口頭 offer,但不會去。 : ## 酷必資訊 90W/Y : 作 line 官方帳號的公司。 : 一開始面試我的是工程師,我們一開始有討論到 transaction 與下面這種的差異 : ``` : 這是從 fb backend tw 版主那學來的。 : update tickets set user_id = 1, is_order = 1 where id = 1 and is_order = 0; : update tickets set user_id = 2, is_order = 1 where id = 1 and is_order = 0; : ``` : 這是利用 database 不會 race condition 的特性去作的,我記得沒錯的話,這會比下 : transction 來的快。 : 但他一直堅持這是一種lock,因為我也是沒有深究所以就帶過了。 : 他有提到要用 laravel 作底層,我以為是要寫 laravel 的 package ,結果看起來應該 : 是一個 laravel 作網站的底層這樣。 : 我有問自動化佈署,他們說現在還是 ssh git pull,但有打算要做。 : 工作內容是打算作一個平台,部份取代現在接案,因為他們覺得大部分官方帳號要求的都 : 大同小異。 : 之後CEO進來跟我講了新資福利,聽起來沒啥問題。 : 結論:感謝函一張。 : 後面還有三家要寫,晚點在弄吧。 : 有人缺 senior php developer 的話可以找我。 : 有問題推文。 雖然好像不算版上的範疇,但實在很想知道答案冒險一問, 小弟學程式半年菜逼八,關於面試的題目直覺答案如下,花幾分鐘寫出來的可能有錯, 勇敢提問手下留情 List<int> arr = new List<int> {1,8,3,10,15}; arr.Sort(); int a = arr[0]; int b = arr[1]; int ans = b-a; for(int i = 1;i<arr.Count-1;i++) { if(arr[i+1]-arr[i]<ans) { a=arr[i]; b=arr[i+1]; ans=b-a; } } Console.WriteLine($"{b}-{a}={ans}"); 請問這是面試題目的答案嗎? 還是公司其實是要問更高深的東西,我把它當邏輯題目再做太單蠢XD 會直接被謝謝再聯絡 還有請問O(n)是什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.5.240 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1510245521.A.552.html ※ 編輯: lieroliu (114.43.5.240), 11/10/2017 00:40:35 ※ 編輯: lieroliu (114.43.5.240), 11/10/2017 00:41:32 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 00:45:02

11/10 00:45, , 1F
關於O(n) ,請Google 時間複雜度
11/10 00:45, 1F

11/10 00:47, , 2F
Key word: big-o 沒惡意 但在這領域這其實有點基本
11/10 00:47, 2F
我又知道一個必學的基本感謝你~ 好的我會努力學習

11/10 00:48, , 3F
原Po才學半年,不知道很正常吧
11/10 00:48, 3F
※ 編輯: lieroliu (1.200.217.47), 11/10/2017 00:49:09

11/10 00:50, , 4F
宣告的ans可能是負的
11/10 00:50, 4F
隨機陣列有沒有包含負數啊,如果有我這方法就不行,[-5,-1,1]之類的就悲劇了 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 00:50:05 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 00:52:26 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 01:04:55

11/10 01:06, , 5F
0?
11/10 01:06, 5F

11/10 01:07, , 6F
下班好累...我用猜的@@
11/10 01:07, 6F

11/10 01:52, , 7F
排序後只要再跑一層迴圈
11/10 01:52, 7F
請問如何只跑一層

11/10 02:41, , 8F
這種是暴力解法,也就是列舉所有可能之後的解答,需要O(n
11/10 02:41, 8F

11/10 02:41, , 9F
^2)
11/10 02:41, 9F
原來這種就算是暴力解法,受教了

11/10 02:43, , 10F
方法同樓上,先排序,再搜尋一輪。O(n log n) +O(n)
11/10 02:43, 10F

11/10 03:20, , 11F
你寫了兩層迴圈, 那sort的意義是?
11/10 03:20, 11F
沒有排序的話後者減前者就有可能是負數,if判斷式得到的結果就不對了

11/10 03:44, , 12F
sort 完後再跑一輪找最小就好 O(nlogn)+O(n)
11/10 03:44, 12F
我有去google了但不太理解是要怎麽用在這裡,是指不要用.sort要自己寫嗎 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 06:36:56 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 06:38:29 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 06:42:27

11/10 07:17, , 13F
排序後不會有負數吧 a[i+1]-a[i] 一個for就好?
11/10 07:17, 13F
對耶我犯蠢了XD

11/10 08:15, , 14F
這篇原po繼續加油 程式寫多了 這類問題有時候只是膝反射(誤
11/10 08:15, 14F

11/10 08:15, , 15F
?)而已
11/10 08:15, 15F
※ 編輯: lieroliu (1.200.217.47), 11/10/2017 09:13:41 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 09:15:50

11/10 09:26, , 16F
我寫這題也是膝反射,但是反射是錯的XDDD
11/10 09:26, 16F

11/10 09:40, , 17F
解的出來就是對的,但你的解有可能TLE就是了
11/10 09:40, 17F
※ 編輯: lieroliu (125.227.255.81), 11/10/2017 09:59:40 ※ 編輯: lieroliu (125.227.255.81), 11/10/2017 10:00:36

11/10 12:11, , 18F
想題目時先不要看範例數字,而是想好做法再帶入驗證
11/10 12:11, 18F

11/10 12:14, , 19F
照數字你想出第一個做法,但來個{1,8,3,9,15}就錯了
11/10 12:14, 19F
可以告訴我為什麼錯嗎

11/10 12:30, , 20F
leetcode裡面的基本題...
11/10 12:30, 20F

11/10 12:39, , 21F
請問{1,8,3,9,15}為什麼錯了~~~?
11/10 12:39, 21F

11/10 12:41, , 22F
我在leetCode有看到也寫得出來,但觀念或效能什麼的就不
11/10 12:41, 22F

11/10 12:41, , 23F
知道了
11/10 12:41, 23F

11/10 13:14, , 24F
你的ans會變成負數...
11/10 13:14, 24F
可是我已經排序小到大了,後面減前面應該不會有負數,可以告訴我我漏想什麼情況了嗎 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 13:18:55 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 13:19:38

11/10 13:19, , 25F
你的想法是對的,但寫出來的卻不是這麼一回事
11/10 13:19, 25F

11/10 13:20, , 26F
問題if 裡面,仔細看看
11/10 13:20, 26F

11/10 13:23, , 27F
PTT不能複製貼上,我重打的時候寫反了XDD
11/10 13:23, 27F
※ 編輯: lieroliu (125.227.255.81), 11/10/2017 13:24:02

11/10 13:24, , 28F
感謝提醒已改
11/10 13:24, 28F
※ 編輯: lieroliu (125.227.255.81), 11/10/2017 13:25:47

11/10 14:27, , 29F
抱歉修正上面的說法,我看成兩個迴圈XD
11/10 14:27, 29F

11/10 15:00, , 30F
樓上沒什麼好抱歉的吧 他修過文章
11/10 15:00, 30F

11/10 15:46, , 31F
啊,抱歉我把你變數宣告當成一個做法了…
11/10 15:46, 31F

11/10 15:47, , 32F
沒想到要用那麼多變數又隔很遠就看錯了:p
11/10 15:47, 32F

11/10 16:00, , 33F
還有下面你一開始是寫兩個迴圈,覺得這和上面不相干
11/10 16:00, 33F

11/10 17:07, , 34F
抱歉讓你看錯XDDD
11/10 17:07, 34F

11/10 17:08, , 35F
我就是覺得可以解出答案,可是程式碼看起來很阿砸
11/10 17:08, 35F

11/10 17:08, , 36F
肯定不是這種解法,可是我又不知道更高級的解法
11/10 17:08, 36F

11/10 17:08, , 37F
應該說我google到方法了可是我看不懂XDDDD
11/10 17:08, 37F

11/10 17:09, , 38F
一開始寫兩個是耍笨,後來就發現sort後就不必雙迴圈
11/10 17:09, 38F

11/10 19:39, , 39F
if會寫為什麼要ab
11/10 19:39, 39F
突破盲點

11/10 19:42, , 40F
可以讀"培養與鍛鍊程式設計的邏輯腦"這類演算法的書
11/10 19:42, 40F

11/10 19:43, , 41F
剩下的就是多看範例多練習了,練到膝反射那樣XD
11/10 19:43, 41F
演算法感覺比程式難好多,自學不知道怎麽下手…… ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 22:15:55 ※ 編輯: lieroliu (1.200.217.47), 11/10/2017 22:16:24

11/11 00:44, , 42F
就買演算法的書看呀,不過看你待的產業啦,軟體業的
11/11 00:44, 42F

11/11 00:44, , 43F
反而多數在應用層,幾乎不太有機會實作演算法
11/11 00:44, 43F

11/11 10:40, , 44F
這類考試不只考速度,還要求輸入容許最大範圍。
11/11 10:40, 44F

11/11 10:42, , 45F
能用unsign int的用int像size這類的也會被扣分。
11/11 10:42, 45F

11/11 10:43, , 46F
如果以為答案對了就上傳通常分數不會太好。
11/11 10:43, 46F

11/11 10:44, , 47F
要看用的是不是最快的演算法,還有宣告變數是不是盡量用
11/11 10:44, 47F

11/11 10:44, , 48F
最大許可型態。
11/11 10:44, 48F

11/11 10:48, , 49F
所以考試選不用事先宣告型態的程式語言就不必考慮第二項
11/11 10:48, 49F

11/11 10:48, , 50F
11/11 10:48, 50F
文章代碼(AID): #1Q18IHLI (Soft_Job)
文章代碼(AID): #1Q18IHLI (Soft_Job)