第一題迴圈版: https://codepad.org/2jvD9ZER
ps. 整份 code 是 changyuheng 的三倍長,但效能不知道
程式碼(紅色部份不知道有沒有機會拿掉,讓整個程式更優雅):
digit = ((0,1,2,3,4,5,6,7,8,9),(9,8,7,6,5,4,3,2,1,0))
n = int(input())
op = [0] * n
index = [0] * n
index[0] = -1
while True:
s = ''
carry = 1
for i in range(0,n):
if(carry):
if(index[i] != 9):
index[i] = index[i] + 1
carry = 0
else:
index[i] = 0
op[i] = 1 - op[i]
s += chr( ord('0') + digit[ op[i] ][ index[i] ] )
if(carry): break
print(s)
※ 引述《changyuheng (Henry)》之銘言:
: 我也是中央在學,貢獻 Google 第一題:https://bit.ly/2qn4iHE
: 第二題我會說每一個二分點都測 m 次,最後再實際測試比對結果。
: O(mn)
: θ(m log n)
: ※ 引述《william45682 (QQQQQQ)》之銘言:
: : 本身是大三資工系學生 中央大學的
: : 有的經驗大概就是網頁的語言比較多 angular2 vue Laravel
: : 專題有用Java寫 Android程式
: : 怕不好閱讀請點此
: : https://goo.gl/cyyZbw
: : 廢話不多說開始
: : ---
: : 微軟 Bing Local Develop
: : 遇到一位好心的主管,看起來人很nice 面試中不外乎就問問專案的經驗
: : 並你從中有提到的東西去做一些 問題的延伸 再來進入白板coding
: : 題目是 給你一串數列 如果 有三個數相加等於0就回傳true
: : 一開始用一個很笨的方法
: : 先sort之後 兩個迴圈 跑 第一第二個元素然後第三個從尾端開始挑回來(n?)
: : 之後被提醒了一下之後想到 其實不需要第三層 只需要 兩層之後找出這兩個加起來的數負?
: : 之後又問能不能夠更快 我想了一下之後 他又提醒我hash?
: : 所以我用 hash set 去存 陣列 而且這樣子的話其實一開始根本不需要排序
: : 但是問題來了有一組 特例解就是 0 0 0你要怎麼處理
: : 我想了一下之後決定在 多一個zeroCount 當加入hash set的值是0的時候就加一
: : 所以當出現 I+k == 0的時候 我就去 找 zeroCount是不是3
: : 這次的面試大概到這邊就結束
: : 題外話,我有問這位主管對於"實習"的看法,他跟我說實習比較像是打工的一種,因為你很
: : 沒想到大約過了 不到一禮拜又接到一通電話
: : 說要主管要面試(這次是真的主管)之前那位是現在部門中四位其中一位。
: : 好險是用skype面試(因為主管在美國) 不然又要特別跑台北一趟(因為約的是星期四)?
: : 到了下午兩點主管沒開鏡頭XD
: : 開始介紹他自己及部門大概在幹嘛,他說微軟在美國的Bing 已經做到跟 Google一半一半了
: : 有問到我使用甚麼語言,及有問到JUnit Test (看的出來很注重 test這塊),好險大三上有軟體工程,
: : 其中有提到說如果這一年做的好可以直接變成正職,甚至說你如果要讀研究所的話也可以讓你用其他型態繼續工作?
: : 最後有給她看我的自製履歷有問到說google map api 怎樣使用的,感覺對map這塊很有興趣
: : 另外有提到說暑假幾乎都要到部門去,開學的話可以較彈性的調整(不確定是怎樣) 也提到?
: : 另外也有提到他不會把實習生當實習生看,而是會把你當正職來看。
: : ---
: : 桃園龜山 BenQ (Web系統開發專案實習)ꀊ: : 需求人數:1 人
: : 有用到 D3.js ꀬ 然後 提到 Mes 好像跟工業化有關ㄏㄏ
: : 暑假的時候工作時間是 星期一到五 八點到五點ꀊ: : 如果跟教授有 meeting 只能大概接受 一個月一次ꀊ: : 7~8成部門專案(就是現在應徵這個)ꀊ: : 2~3成 其他實習生交流專案(與今年的其他BenQ實習生完成,企業責任,
: : 去年是暑期伴讀,設計課程(化學課程)
: : 4/14面試說四月底前公布結果 ,但是因為那天沒跟副理面試到,所以本來打算4/24 這個禮拜在約,我希望是星期五,因為其他時間都無法配合。
: : 後來感謝信,可能是因為無法配合副理的面試時間??(因為當初說會再聯絡我就沒聯絡了)
: : ---
: : 有投一個google 履歷不過連面試都沒面試就被reject了 = =…(難過QQ
: : 不過我強者同學的第一階段心得
: : 假設現在給你一個n 代表有幾位數
: : 然後 說 假設n為3好了 代表有000~999這1000個數字
: : 然後現在要把這1000個數字排序
: : 排序規則是 兩個數字之前 的distance差1
: : 兩個數字的distance是指 兩個數字拿起來比對 不一樣的那幾位數相差的總和 譬如說 111 跟 222 distance 是3 111 113 distance 是 2 111 011 distance是1
: : 給出一組合法的排序
: : 然後第二題是 用git的時候會有很多commit 假設現在的code是壞的 前面有n個commit你需要找出哪個commit後面壞掉了 你可以選擇詢問任一個commit 他會回答你是好的還是壞的 這個很簡單 二分搜就好 但是現在題目是 如果你問他 他是好的他就會回答你是好的 他是壞的 有50%機率回是好的 50%機率回是壞的
: : 電話面試, 他叫我打code在 google雲端上
: : 整個過程大概45分鐘
: : 因為是工程師面所以比較多問的是技術問題 像是前面問我有沒有遇過甚麼有趣的題目之類的
: : 就會去match一個Project 其實大部分公司都這樣
: : (內容算是對話直接複製貼上 有點不通順還請見諒)
: : IBM
: : 投了三個部門,一開始先做線上測驗,分兩個階段,第一階段就是給數列推出下一個的可能性(個人認為蠻難的),第二階段就比較考英文幾乎都是英文的應用問題(大概高中程度的簡單問題吧),有化學式的濃度問題。
: : 大概過一兩周之後會收到一個錄影面試,大致上來說就是載一個app然後你準備好之後她會開始問你問題然後你就面對鏡頭回答(大致上來說問題其實不是專業問題,比較像是看個性或是說看興趣志向或是過往經歷的問題),時間不長五分鐘而已。
: : 之後就沒下文了…
: : Dcard(網頁)
: : 第一階段要繳交兩份作業我交了todos 跟一份不會太難的題目交出去了,後來就收到面試通知,但是地點是在台北對於中央大學來說不太方便(星期二),所以就約了skype面試。
: : 這次一樣面試官沒有開鏡頭,然後呢問到了比較多關於網頁的經驗
: : 像是覺得Java 跟 JavaScript的差別,ES6的特點,或是一些關於Vue.js 跟 Angular2的差別,或是有沒有寫過前端測試的經驗。
: : 其實我覺得我這次表現沒有很好? 一方面是因為skype對方的連線品質好像沒有很好?? 所以有時候講話會斷斷續續的(會這樣說是因為學校網路蠻快的)。而且有時候感覺面試官好像不對我感到興趣??因為感覺他們好像不知道要問甚麼問題XD??
: : 整個過程大概快30分鐘就結束了,然後我問說實習生收幾個他們搓收兩個。
: : 如果OK的話下一個禮拜還會有下一階段的面試通知,大約兩個禮拜後會有結果。
: : 以下公司是有照流程寄信但是沒回應的
: : KKBOX、趨勢有投(沒有後續面試邀約)、Yahoo、Dell(有接到電話面試,但是還沒有後續面試,可能英文講太爛哈哈)
: : 目前覺得有點心灰意冷XDD
: : 畢竟好多公司都是連面試機會都沒有
: : 這樣會覺得自己好像光履歷這關就輸掉了...
: : 有點洩氣XD...
: : 現在就等微軟的實習看有沒有上吧
: : 歡迎大家來討論心得QQ 希望有去面試我沒面試到的也可以出來分享一下
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.164.26
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1496058375.A.91E.html
... <看更多>
沒有實習經驗dcard 在 Re: [心得] 實習面試心得(微軟、BenQ、Dcard) - 看板Soft_Job 的推薦與評價
第一題迴圈版: https://codepad.org/2jvD9ZER
ps. 整份 code 是 changyuheng 的三倍長,但效能不知道
程式碼(紅色部份不知道有沒有機會拿掉,讓整個程式更優雅):
digit = ((0,1,2,3,4,5,6,7,8,9),(9,8,7,6,5,4,3,2,1,0))
n = int(input())
op = [0] * n
index = [0] * n
index[0] = -1
while True:
s = ''
carry = 1
for i in range(0,n):
if(carry):
if(index[i] != 9):
index[i] = index[i] + 1
carry = 0
else:
index[i] = 0
op[i] = 1 - op[i]
s += chr( ord('0') + digit[ op[i] ][ index[i] ] )
if(carry): break
print(s)
※ 引述《changyuheng (Henry)》之銘言:
: 我也是中央在學,貢獻 Google 第一題:https://bit.ly/2qn4iHE
: 第二題我會說每一個二分點都測 m 次,最後再實際測試比對結果。
: O(mn)
: θ(m log n)
: ※ 引述《william45682 (QQQQQQ)》之銘言:
: : 本身是大三資工系學生 中央大學的
: : 有的經驗大概就是網頁的語言比較多 angular2 vue Laravel
: : 專題有用Java寫 Android程式
: : 怕不好閱讀請點此
: : https://goo.gl/cyyZbw
: : 廢話不多說開始
: : ---
: : 微軟 Bing Local Develop
: : 遇到一位好心的主管,看起來人很nice 面試中不外乎就問問專案的經驗
: : 並你從中有提到的東西去做一些 問題的延伸 再來進入白板coding
: : 題目是 給你一串數列 如果 有三個數相加等於0就回傳true
: : 一開始用一個很笨的方法
: : 先sort之後 兩個迴圈 跑 第一第二個元素然後第三個從尾端開始挑回來(n?)
: : 之後被提醒了一下之後想到 其實不需要第三層 只需要 兩層之後找出這兩個加起來的數負?
: : 之後又問能不能夠更快 我想了一下之後 他又提醒我hash?
: : 所以我用 hash set 去存 陣列 而且這樣子的話其實一開始根本不需要排序
: : 但是問題來了有一組 特例解就是 0 0 0你要怎麼處理
: : 我想了一下之後決定在 多一個zeroCount 當加入hash set的值是0的時候就加一
: : 所以當出現 I+k == 0的時候 我就去 找 zeroCount是不是3
: : 這次的面試大概到這邊就結束
: : 題外話,我有問這位主管對於"實習"的看法,他跟我說實習比較像是打工的一種,因為你很
: : 沒想到大約過了 不到一禮拜又接到一通電話
: : 說要主管要面試(這次是真的主管)之前那位是現在部門中四位其中一位。
: : 好險是用skype面試(因為主管在美國) 不然又要特別跑台北一趟(因為約的是星期四)?
: : 到了下午兩點主管沒開鏡頭XD
: : 開始介紹他自己及部門大概在幹嘛,他說微軟在美國的Bing 已經做到跟 Google一半一半了
: : 有問到我使用甚麼語言,及有問到JUnit Test (看的出來很注重 test這塊),好險大三上有軟體工程,
: : 其中有提到說如果這一年做的好可以直接變成正職,甚至說你如果要讀研究所的話也可以讓你用其他型態繼續工作?
: : 最後有給她看我的自製履歷有問到說google map api 怎樣使用的,感覺對map這塊很有興趣
: : 另外有提到說暑假幾乎都要到部門去,開學的話可以較彈性的調整(不確定是怎樣) 也提到?
: : 另外也有提到他不會把實習生當實習生看,而是會把你當正職來看。
: : ---
: : 桃園龜山 BenQ (Web系統開發專案實習)ꀊ: : 需求人數:1 人
: : 有用到 D3.js ꀬ 然後 提到 Mes 好像跟工業化有關ㄏㄏ
: : 暑假的時候工作時間是 星期一到五 八點到五點ꀊ: : 如果跟教授有 meeting 只能大概接受 一個月一次ꀊ: : 7~8成部門專案(就是現在應徵這個)ꀊ: : 2~3成 其他實習生交流專案(與今年的其他BenQ實習生完成,企業責任,
: : 去年是暑期伴讀,設計課程(化學課程)
: : 4/14面試說四月底前公布結果 ,但是因為那天沒跟副理面試到,所以本來打算4/24 這個禮拜在約,我希望是星期五,因為其他時間都無法配合。
: : 後來感謝信,可能是因為無法配合副理的面試時間??(因為當初說會再聯絡我就沒聯絡了)
: : ---
: : Google
: : 有投一個google 履歷不過連面試都沒面試就被reject了 = =…(難過QQ
: : 不過我強者同學的第一階段心得
: : 假設現在給你一個n 代表有幾位數
: : 然後 說 假設n為3好了 代表有000~999這1000個數字
: : 然後現在要把這1000個數字排序
: : 排序規則是 兩個數字之前 的distance差1
: : 兩個數字的distance是指 兩個數字拿起來比對 不一樣的那幾位數相差的總和 譬如說 111 跟 222 distance 是3 111 113 distance 是 2 111 011 distance是1
: : 給出一組合法的排序
: : 然後第二題是 用git的時候會有很多commit 假設現在的code是壞的 前面有n個commit你需要找出哪個commit後面壞掉了 你可以選擇詢問任一個commit 他會回答你是好的還是壞的 這個很簡單 二分搜就好 但是現在題目是 如果你問他 他是好的他就會回答你是好的 他是壞的 有50%機率回是好的 50%機率回是壞的
: : 電話面試, 他叫我打code在 google雲端上
: : 整個過程大概45分鐘
: : 因為是工程師面所以比較多問的是技術問題 像是前面問我有沒有遇過甚麼有趣的題目之類的
: : 就會去match一個Project 其實大部分公司都這樣
: : (內容算是對話直接複製貼上 有點不通順還請見諒)
: : IBM
: : 投了三個部門,一開始先做線上測驗,分兩個階段,第一階段就是給數列推出下一個的可能性(個人認為蠻難的),第二階段就比較考英文幾乎都是英文的應用問題(大概高中程度的簡單問題吧),有化學式的濃度問題。
: : 大概過一兩周之後會收到一個錄影面試,大致上來說就是載一個app然後你準備好之後她會開始問你問題然後你就面對鏡頭回答(大致上來說問題其實不是專業問題,比較像是看個性或是說看興趣志向或是過往經歷的問題),時間不長五分鐘而已。
: : 之後就沒下文了…
: : Dcard(網頁)
: : 第一階段要繳交兩份作業我交了todos 跟一份不會太難的題目交出去了,後來就收到面試通知,但是地點是在台北對於中央大學來說不太方便(星期二),所以就約了skype面試。
: : 這次一樣面試官沒有開鏡頭,然後呢問到了比較多關於網頁的經驗
: : 像是覺得Java 跟 JavaScript的差別,ES6的特點,或是一些關於Vue.js 跟 Angular2的差別,或是有沒有寫過前端測試的經驗。
: : 其實我覺得我這次表現沒有很好? 一方面是因為skype對方的連線品質好像沒有很好?? 所以有時候講話會斷斷續續的(會這樣說是因為學校網路蠻快的)。而且有時候感覺面試官好像不對我感到興趣??因為感覺他們好像不知道要問甚麼問題XD??
: : 整個過程大概快30分鐘就結束了,然後我問說實習生收幾個他們搓收兩個。
: : 如果OK的話下一個禮拜還會有下一階段的面試通知,大約兩個禮拜後會有結果。
: : 以下公司是有照流程寄信但是沒回應的
: : KKBOX、趨勢有投(沒有後續面試邀約)、Yahoo、Dell(有接到電話面試,但是還沒有後續面試,可能英文講太爛哈哈)
: : 目前覺得有點心灰意冷XDD
: : 畢竟好多公司都是連面試機會都沒有
: : 這樣會覺得自己好像光履歷這關就輸掉了...
: : 有點洩氣XD...
: : 現在就等微軟的實習看有沒有上吧
: : 歡迎大家來討論心得QQ 希望有去面試我沒面試到的也可以出來分享一下
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.164.26
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1496058375.A.91E.html
... <看更多>