作者y2468101216 (芸)
看板Soft_Job
標題[心得] web面試心得
時間Thu Mar 3 11:03:30 2016
工作一年半,主要寫php為主,閒暇時間寫寫前端跟node.js,會一點swift。
會一點jenkins CI,design pattern跟tdd。
1. gogomaper.Inc(50K)
徵node.js的工程師,新創團隊應該在六人左右,似乎成立不滿一年。
分成兩次面試
一面:由PM介紹他們的產品,主要是做地圖社交的APP。
進去會提供螢幕或椅子,沒有電腦。
二面:技術面試,出了一個題目是:如果有一個array裡面含有n個正整數
且array[0]+...+array[k] == array[n-1] +...+ array[n-k],試求k,
k若不存在則回傳false。
我是用時間複雜度n的2次方去解的,不知道有沒有更好的解法。
此外還有問一些AWS跟restful的問題,像AWS的secuity group,restful跟SOAP的差別。
結果:無聲卡
2. brocas(50K)
衝著某位強者去的,一樣是node.js工程師,地點在汐止真是有夠遠。
基本上都問node.js的問題,有提到我自己用node.js做的網站。
有問我react跟angular的差別,那個時候的回答是這樣的:
angular跟react的差別在於說angular他並沒有特別去劃分non-state跟state,
這意味著你把整個$scope展開時會很髒,會混雜在一起,react會force你去思考哪些是
non-state跟state。
當然不只這樣,不過我也只講了這一些。
還有爭論一個問題,就是客戶發現我們幫他開發網站的有安全漏洞的時候,
是不是應該藉由更新來避免。
我個人認為是必須的,但對方傾向於不更新,因為更新所相對應帶來的風險
需要審慎評估。
我後來想想還是把他打清楚好了,那個時候我也沒有表達得很清楚。
我的前公司從客戶那邊收到了一份安全報告,裡面提到apache2.2跟php5.2
有安全上的疑慮要修正,我個人在開發時是採用IIS 8 + php 5.5的,
剛好符合客戶的需求。
所以我就建議說既然客戶有這個需求就幫他們升級,畢竟安全很重要。
想當然被reject才會發生後來的事情。
我個人的看法是:這個更新不會帶來太大的風險,
而且必要的時候還是可以rollback,基本上完全不會動到code,
可以先讓客戶測試能不能接受後,再更新到正式server上。
完全不作實在是讓我難以接受,實際上我們公司bug也是這樣子,
簽核出問題拖了將近一年都不修,主管根本就是得過且過,所以我才憤而離開。
你說為何不自己修?因為我不會阿!那是java applet,而且是依賴oracle form的。
而且他們也不太願意讓我動。
結果:無聲卡
3. Fungogo
應徵前端工程師,不過他們職缺沒有寫得很清楚,過去跟他們聊的時候才發現他們要找
會D3.js的人,剛好我沒碰這塊,所以就沒談太多。
我很懷疑他們的PM有看過我的履歷,投了不到幾個小時就回我。
要填那長達兩頁的身家調查表
結果:無聲卡
4. *****(50K)
因為我有拿到offer也確定要去,所以想知道的公司名稱的站內信給我。
這是少數幾家我收到面試邀請就非常想去的,
有自己的github帳號(而且真的有人按star),有贊助研討會跟社群。
從來沒有公司有寄這些東西給我。
後來想想當公司都要求面試者隨信附上github帳號時,為何
我們不能反過來要求公司在github上也要有所作為,這種事情不是互相的嗎?
拉回正題,這間公司也是小公司,約10人左右,寫php專案為主,
最近想開發自己的產品。
暢談了很多東西,也被糾正了不少,少數沒有只聽我說的CTO。
當場開給我offer,並說會同時配電腦跟螢幕。
結果:offer get
5. 104
恩,就是那個大家都知道的有很多假職缺的網站,應徵的是前端工程師。
也要填長達兩頁的身家調查表,我都想吐槽你們家不就是做這塊的嗎?
雖然我以為我面試的是前端,但實際上都在問php的問題,一直追問thread safe跟
non thread safe,怎不多問點JS的部分啊...
HR問了一個有趣的問題:如果我們這個產品結束以後,你可以接受調回來寫java嗎?
我當場愣住,只好跟他說:抱歉,我沒想過這個問題。
他們網站都不需要人開發前端歐。
會配一台windows的筆電。
結果:等待通知二面,不過我想應該不會通知。
題外話:
如果想學前端卻不知道如何下手的話可以參考這個投影片:
http://huangxuan.me/js-module-7day/#/
他寫的很好,把前端開發者會碰到的問題以及因應的libary大概都講了。
你可以從這邊當作切入點著手。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.30.31
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1456974215.A.D40.html
1F:推 oaboy: 有心得有推 03/03 11:07
2F:推 Asty1e: 我也有去面試4!那裡很棒不過我應該不會 03/03 11:07
3F:→ Asty1e: 上。 03/03 11:07
4F:推 QNAP: 大學畢一年半這樣還ok 03/03 11:08
5F:推 taikobo: 推心得分享 03/03 11:08
6F:推 abccbaandy: 面試一去就寫基本資料...感覺雷雷的XD 03/03 11:26
7F:推 lovdkkkk: 加總那題應該維護兩個變數跑一次廻圈就好了, O(N) 03/03 11:30
8F:推 zoko741235: 推心得 03/03 12:14
9F:→ GoalBased: 那個題目看起來就怪怪的= = 03/03 12:42
10F:→ GoalBased: array length = n, array[n]不就超過了嗎 是array[n-1] 03/03 12:44
11F:→ GoalBased: 吧? 03/03 12:44
12F:推 duck10704: 推 03/03 13:01
13F:推 brucetu: 不用每次都重算0~k的和與k~n-1的和。 複雜度就是n一次了 03/03 13:06
14F:推 wheels: O(n) 應該就可以了,dynamic programming 的應用 03/03 13:09
15F:推 Masakiad: 加油 03/03 13:14
※ 編輯: y2468101216 (118.163.30.31), 03/03/2016 13:17:36
16F:推 Yshuan: value必定是sum/2, 直接從頭去累加: LT->None, EQ->Ans 03/03 13:17
17F:推 likecyndi: 他的投影片 不是給初學者看的吧?? 03/03 13:32
18F:推 KanoLoa: 我想得跟Yshuan同 03/03 13:40
19F:推 syclin: 親愛的樓上跟樓上上上,不會是 sum/2 噢! 03/03 13:49
20F:推 wheels: 沒有sorting過不能直接看sum/2啦 03/03 14:06
21F:推 Yshuan: XD 果然沒午睡不行 題意理解錯誤 03/03 14:06
22F:→ dreamnook: 題目是0~k跟[n-1-k]~[n-1], 而不是k~n吧... 03/03 14:33
23F:推 yuanyu90221: 推 03/03 16:02
24F:推 onininon: 有看有推 03/03 16:32
25F:推 femlro: 推推 03/03 16:44
26F:→ femlro: 另外大大好像有在web design幫過我忙@@ 03/03 16:45
27F:→ y2468101216: 樓上我小小,那時還不小心講話太直接XD 03/03 16:51
28F:→ femlro: 肯幫忙就要跪謝大大了QQ 感恩感恩 03/03 16:53
29F:推 Arser: 推分享~ 03/03 17:08
30F:推 Mtcat: pp 03/03 17:39
31F:推 amazing2014: 推 我在等公車時也在想是不是/2 03/03 18:22
32F:推 sing10407: 一個履歷是能看多久… 03/03 19:59
33F:推 jeff0220: 借同事帳號回應: 03/03 20:38
34F:→ jeff0220: 剛好是 2 裡面比較弱的 Node.js 工程師, 03/03 20:38
35F:→ jeff0220: 文中提到有安全漏洞卻不更新的問題,中間應該是有什麼誤 03/03 20:39
36F:→ jeff0220: 會才對(?) 03/03 20:39
37F:→ jeff0220: 有點失憶但印象中那天提到的情境應該是 03/03 20:39
38F:→ jeff0220: PHP(還是apache?)版本「過於」老舊且有安全性漏洞, 03/03 20:39
39F:→ jeff0220: 溝通過程可能有什麼誤解,但整體方向應該是指有一定規 03/03 20:40
40F:→ jeff0220: 模且年代久遠(失修)的系統應該經過更謹慎的評估, 03/03 20:40
41F:→ jeff0220: 而不是一下就能換的。畢竟越是有規模的系統本身牽涉到 03/03 20:40
42F:→ jeff0220: 既有(不知道有沒有)的穩定性,還有對人員的 training 03/03 20:41
43F:→ jeff0220: 等等,不是只要下個 update 然後 test 都過亮綠燈就好。 03/03 20:41
44F:→ jeff0220: 講個八卦:同事曾經跟我抱怨,跟我共事兩年以來一直從 03/03 20:42
45F:→ jeff0220: Async.js、Bluebird Promise、co、async/await 這樣一 03/03 20:43
46F:→ jeff0220: 直升上來,讓他總是學無止盡。我們只有兩個Node.js工程 03/03 20:43
47F:→ jeff0220: 師就有這樣的困擾,那如果公司有 20人 200人? 03/03 20:44
48F:→ jeff0220: 今天剛偷玩了Jenkins2就被說不更新,我玻璃心都碎了... 03/03 20:49
50F:→ Y78: 跟這題應該算是有異曲同工之妙吧XD 03/03 21:05
51F:推 spjay1: 一般來說都會建砂盒看會不會爆炸 再更新巴 03/03 21:25
52F:推 Argos: 要是我 會「建議」下去更新 但只是建議喔~ 03/03 21:28
53F:→ Argos: 實際情況大概90%公司沒人想去動 XDDDD 03/03 21:29
54F:推 yyc1217: 我的話會新舊並行 再用load balancer逐步將流量導向新的 03/03 23:02
補充推文中提到的東西。
※ 編輯: y2468101216 (122.116.19.98), 03/03/2016 23:32:49
※ 編輯: y2468101216 (122.116.19.98), 03/03/2016 23:34:34
55F:推 FRAXIS: 應該只要先算出 prefix sum 和 suffix sum 就可以了吧 03/04 07:30
56F:推 Masakiad: 資安課不是有教嗎?應該先做風險評估。如果該漏洞風險 03/04 11:01
57F:→ Masakiad: 高到比緊急更新的風險還高,才會需要緊急更新啊! 03/04 11:01
58F:→ y2468101216: 我從來都沒有說緊急更新,我是說要更新。 03/04 11:31
59F:推 hutdris: 前n/2總和後n/2總和比大小,從中間切口處往總和大的方向 03/04 14:03
60F:→ hutdris: 移一個元素過去,更新兩邊總和比大小,直到撞牆或大小方 03/04 14:05
61F:→ hutdris: 向改變回傳False,算總和O(n),最多比n/2次,應該有O(n) 03/04 14:06
62F:推 a8084123: 推 03/05 17:43
63F:推 DJoker: 用 array[i] 跟 array[n-1-i] 的差值做 sum, 當diff==0 時 03/05 21:56
64F:→ DJoker: return i 值應該可以解完? 03/05 21:56