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

作者: lieroliu (不就是取名字)   2017-11-10 00:38:38
※ 引述《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)是什麼?
作者: F14A (湯姆貓)   2017-11-10 00:45:00
關於O(n) ,請Google 時間複雜度
作者: tkigood (提谷德)   2017-11-10 00:47:00
Key word: big-o 沒惡意 但在這領域這其實有點基本
作者: F14A (湯姆貓)   2017-11-10 00:48:00
原Po才學半年,不知道很正常吧
作者: pomeloboy (柚子男)   2017-11-10 00:50:00
宣告的ans可能是負的
作者: kingofsdtw (不能閒下來!!)   2017-11-10 01:06:00
0?下班好累...我用猜的@@
作者: ken9527k (來韓老師這邊)   2017-11-10 01:52:00
排序後只要再跑一層迴圈
作者: k801030 (阿維)   2017-11-10 02:41:00
這種是暴力解法,也就是列舉所有可能之後的解答,需要O(n^2)方法同樓上,先排序,再搜尋一輪。O(n log n) +O(n)
作者: stitchris (史迪奇里斯)   2017-11-10 03:20:00
你寫了兩層迴圈, 那sort的意義是?
作者: lipojack (賀賀阿喜)   2017-11-10 03:44:00
sort 完後再跑一輪找最小就好 O(nlogn)+O(n)
作者: lazarus1121 (...)   2017-11-10 07:17:00
排序後不會有負數吧 a[i+1]-a[i] 一個for就好?
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2017-11-10 08:15:00
這篇原po繼續加油 程式寫多了 這類問題有時候只是膝反射(誤?)而已
作者: lieroliu (不就是取名字)   2017-11-10 09:26:00
我寫這題也是膝反射,但是反射是錯的XDDD
作者: seedli (帶骨的火腿)   2017-11-10 09:40:00
解的出來就是對的,但你的解有可能TLE就是了
作者: bcew (bcew)   2017-11-10 12:11:00
想題目時先不要看範例數字,而是想好做法再帶入驗證照數字你想出第一個做法,但來個{1,8,3,9,15}就錯了
作者: tommie (tommy)   2017-11-10 12:30:00
leetcode裡面的基本題...
作者: lieroliu (不就是取名字)   2017-11-10 12:39:00
請問{1,8,3,9,15}為什麼錯了~~~?我在leetCode有看到也寫得出來,但觀念或效能什麼的就不知道了
作者: F14A (湯姆貓)   2017-11-10 13:14:00
你的ans會變成負數...你的想法是對的,但寫出來的卻不是這麼一回事問題if 裡面,仔細看看
作者: lieroliu (不就是取名字)   2017-11-10 13:23:00
PTT不能複製貼上,我重打的時候寫反了XDD感謝提醒已改
作者: k801030 (阿維)   2017-11-10 14:27:00
抱歉修正上面的說法,我看成兩個迴圈XD
作者: ken9527k (來韓老師這邊)   2017-11-10 15:00:00
樓上沒什麼好抱歉的吧 他修過文章
作者: bcew (bcew)   2017-11-10 15:46:00
啊,抱歉我把你變數宣告當成一個做法了…沒想到要用那麼多變數又隔很遠就看錯了:p還有下面你一開始是寫兩個迴圈,覺得這和上面不相干
作者: lieroliu (不就是取名字)   2017-11-10 17:07:00
抱歉讓你看錯XDDD我就是覺得可以解出答案,可是程式碼看起來很阿砸肯定不是這種解法,可是我又不知道更高級的解法應該說我google到方法了可是我看不懂XDDDD一開始寫兩個是耍笨,後來就發現sort後就不必雙迴圈
作者: pttworld (批踢踢世界)   2017-11-10 19:39:00
if會寫為什麼要ab
作者: bcew (bcew)   2017-11-10 19:42:00
可以讀"培養與鍛鍊程式設計的邏輯腦"這類演算法的書剩下的就是多看範例多練習了,練到膝反射那樣XD
作者: ripple0129 (perry tsai)   2017-11-11 00:44:00
就買演算法的書看呀,不過看你待的產業啦,軟體業的反而多數在應用層,幾乎不太有機會實作演算法
作者: CTHsieh (唸書 ?~.~? 唸書)   2017-11-11 10:40:00
這類考試不只考速度,還要求輸入容許最大範圍。能用unsign int的用int像size這類的也會被扣分。如果以為答案對了就上傳通常分數不會太好。要看用的是不是最快的演算法,還有宣告變數是不是盡量用最大許可型態。所以考試選不用事先宣告型態的程式語言就不必考慮第二項。

Links booklink

Contact Us: admin [ a t ] ucptt.com