成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

記錄一次跨國(guó)筆試經(jīng)過(guò)

alphahans / 752人閱讀

摘要:實(shí)際視頻面試到了第二天上午點(diǎn)半,如約與其總裁微信視頻,年齡不大,很親切,也很有禮貌。一番講解,需求這是十天的某貨幣與人民幣的兌換比例,如何算出最大收益。

內(nèi)容干貨不少,關(guān)于我個(gè)人沒(méi)接觸過(guò)的筆試方案以及一些優(yōu)化小技巧,請(qǐng)耐心讀完。

起因
這是一家美國(guó)公司,國(guó)內(nèi)有分支機(jī)構(gòu),其機(jī)構(gòu)負(fù)責(zé)人目前在國(guó)外,所以最后面試就變成了微信視頻面試……

我這段時(shí)間由于上家公司的問(wèn)題,現(xiàn)在不想工作,就想好好的寫(xiě)寫(xiě)文章,旅旅游,所以幾乎任何面試邀請(qǐng),我都用“暫無(wú)打算,謝謝”給回絕了,唯獨(dú)這一家,我接受了面試邀請(qǐng),并且愿意談?wù)?。說(shuō)來(lái)慚愧,本質(zhì)上,我可能并不可能去上班,因?yàn)樯鲜鲈颉?/p>

接受的原因也很簡(jiǎn)單,公司title和技術(shù)人員介紹。公司title上面說(shuō)了,不再重復(fù);技術(shù)人員介紹是“核心技術(shù)人員包括CTO都是硅谷出身,近一半以上目前分布在硅谷與芝加哥?!?。這就讓我來(lái)興趣了,本來(lái)是電話打來(lái)說(shuō)是拉勾看到,我已經(jīng)拒絕,然后提到這里,嗯哼,面面看,看看大牛究竟如何。這里,約好第二天下午2點(diǎn)去杭州機(jī)構(gòu)面試。

然后晚上人事微信通知我,由于機(jī)構(gòu)總裁還在芝加哥,所以希望能夠視頻面試,機(jī)構(gòu)總裁也是技術(shù)出身。我當(dāng)然答應(yīng)了,然后約好第二天上午9點(diǎn)半微信視頻面試。

重點(diǎn)來(lái)了?。?!

原計(jì)劃寫(xiě)一寫(xiě)關(guān)于面試經(jīng)歷的,發(fā)現(xiàn)寫(xiě)著寫(xiě)著太多,就獨(dú)立一篇文章出去,關(guān)于小公司的,地址:非常重要,小公司面試防坑指南
筆試方案

之前面試都是電面,面對(duì)面面,啥啥啥的。但是,我們除了基礎(chǔ)知識(shí)的掌握程度外,難道代碼風(fēng)格與質(zhì)量就不重要了嗎?

難道代碼不能說(shuō)明事情,非要搞這些雜七雜八的小項(xiàng),耗費(fèi)你我的精力?要知道上公司去面試,對(duì)于面試者來(lái)說(shuō),是很費(fèi)時(shí)費(fèi)精力的一件事情。要不,你們?cè)趺床坏轿壹依飦?lái)面試呢?

我很喜歡某博客下的小標(biāo)題:_代碼改變世界。_

是的,是騾子是馬,拉出來(lái)溜溜,啥都別說(shuō)了,上代碼,哥讓你三行。

前期人事

我以為是電面,人事微信告訴我,使用http://collabedit.com/這個(gè)網(wǎng)站直接Code級(jí)別面試,就是實(shí)時(shí)擼代碼給對(duì)方看效果。

講真,她告訴我這個(gè)后,我也是一臉懵逼,這究竟什么玩意兒,沒(méi)這么弄過(guò)啊。緊張,不安的情緒接踵而至,事實(shí)上我并不必緊張,因?yàn)楸緛?lái)就不怎么打算去,但是遇到新鮮事物 ,總是好奇和恐懼。

然后點(diǎn)進(jìn)去看了之后,大概明白怎么回事了,當(dāng)我選擇好JavaScript之后,空白的輸入框等著我,右方有用戶與聊天,我大概徹底清楚怎么玩了,如下圖:

剛剛只是知道是實(shí)時(shí)擼代碼,現(xiàn)在清楚怎么回事了。

下面就是問(wèn)題,我擼啥?具體人事也不知道,后來(lái)就沒(méi)有消息,我估計(jì)實(shí)例創(chuàng)建、排序算法、實(shí)際問(wèn)題解答,無(wú)外乎就這樣了吧。

實(shí)際視頻面試

到了第二天上午9點(diǎn)半,如約與其總裁微信視頻,年齡不大,很親切,也很有禮貌。廢話不多說(shuō),觀點(diǎn)一致,直接代碼見(jiàn)高下。

沒(méi)有實(shí)例創(chuàng)建,沒(méi)有排序算法演示,就是提出一個(gè)問(wèn)題,問(wèn)題也是代碼,如下:

//匯率轉(zhuǎn)換  6.25  list
// 賣(高)- 買(低)
const arr = [6.78, 6.4326, 6.3458, 6.3424, 6.2893, 6.432, 6.3494, 6.6239, 6.5633, 6.5533]

???啥子呦。

一番講解,需求:

這是十天的某貨幣與人民幣的兌換比例,如何算出最大收益。

呵呵,小看我,三秒鐘哥給你……口頭答復(fù)。不就是個(gè)排序嘛,把數(shù)組按照從小到大排序,然后手上金額乘以最后一個(gè)然后減去手上金額乘以第一個(gè)就是結(jié)果咯。

代碼如下:

//匯率轉(zhuǎn)換  6.25  list
// 賣(高)- 買(低)
const arr = [6.78, 6.4326, 6.3458, 6.3424, 6.2893, 6.432, 6.3494, 6.6239, 6.5633, 6.5533]
const money = 100 // 人民幣

let getMax = function(array) {
    let length = array.length
    for(let i = 0; i < array.length; i++) {
        for(let j = i + 1; j < length; j++) {
            let itemI = array[i]
            let itemJ = array[j]
            if(itemI > itemJ) {
                let all = itemI + itemJ
                itemI = all - itemJ
                itemJ = all - itemI
            }
    }
    return array
}

console.log(money * array[array.length - 1] - money * array[0])

于是興致勃勃的說(shuō):“應(yīng)該就這樣吧?!?/p>

對(duì)方看了看,微笑道:“你這是個(gè)排序,但是有業(yè)務(wù)上的問(wèn)題啊?!?/p>

我說(shuō):“什么問(wèn)題啊,最大減最小然后更手上金額的乘積,就是最大利潤(rùn)啊?!?/p>

他說(shuō):“說(shuō)是這么說(shuō),但是這是類似股票交易,肯定是后一天的……”

這里我打斷道:“哦哦哦,對(duì)對(duì)對(duì),這東西有個(gè)T+1和T+2什么鬼的,就是必須是后面的天賣出高價(jià),前面的天買進(jìn)低價(jià)才行。”

對(duì)面說(shuō):“對(duì)的,你要不要再看看。”

我:“恩, 我想想這個(gè)業(yè)務(wù)啊,沒(méi)接觸過(guò),稍等下?!?/p>

他:“沒(méi)關(guān)系,你慢慢想,我這邊主要是看你的思路和解決方案,不著急。”

大約30秒后,我想到方案了,沒(méi)說(shuō)話,直接開(kāi)搞,代碼如下:

//匯率轉(zhuǎn)換  6.25  list
// 賣(高)- 買(低)
const arr = [6.78, 6.4326, 6.3458, 6.3424, 6.2893, 6.432, 6.3494, 6.6239, 6.5633, 6.5533]
const money = 100 // 人民幣

// 分析
/*
小值之前的大值都是無(wú)效的
*/
    
let getMax = function(array) {
    let length = array.length
    let results = [] // 用來(lái)儲(chǔ)存后面大于前面的所有差值的集合
    for(let i = 0; i < array.length; i++) {
        for(let j = i + 1; j < length; j++) {
            let itemI = array[i]
            let itemJ = array[j]
            if(ItemJ - itemI > 0) results.push(itemJ - itemI)
    }
    // 拿到所有,后面減前面的結(jié)果
    return results
}

console.log(money * (Math.max(...results)))
嘴里一直在嘀咕每一步,這是正常的。

他看了看說(shuō):“恩,結(jié)果對(duì)了,這邊使用到了排序,這個(gè)復(fù)雜度是多少?”

我不假思索:“O(n^2)”

他說(shuō):“能不能優(yōu)化?”

我說(shuō):“可以,并歸排序可以優(yōu)化到O(nlgn),但是并歸排序需要遞歸,我不是很熟,需要點(diǎn)時(shí)間?!?/p>

他說(shuō):“nlgn是對(duì)的,但是這個(gè)暫時(shí)不用了,我們看看Code,能不能優(yōu)化了。”

我:“剛剛在實(shí)現(xiàn)業(yè)務(wù),代碼當(dāng)然可以優(yōu)化了,我看看,等下啊?!?/p>

一會(huì)會(huì)兒后,優(yōu)化后代碼如下:

//匯率轉(zhuǎn)換  6.25  list
// 賣(高)- 買(低)
const arr = [6.78, 6.4326, 6.3458, 6.3424, 6.2893, 6.432, 6.3494, 6.6239, 6.5633, 6.5533]
const money = 100 // 人民幣
let getMax // 提前聲明

// 分析
/*
小值之前的大值都是無(wú)效的
*/

//let getMax = function(array) {
getMax = function(array) {
    let length = array.length
    let results = []
    for(let i = 0, k = length - 1; i < k; i++) { // 減少取值次數(shù),不用遍歷最后一個(gè),這是又一次優(yōu)化
    // for(let i = 0, k = length; i < k; i++) { // 減少取值次數(shù)
    // for(let i = 0; i < array.length; i++) {
        let itemI = array[i] // 不用每次都重新取值
        for(let j = i + 1; j < length; j++) {
            // let itemI = array[i]
            let itemJ = array[j]
            let a = itemJ - itemI
            if(a > 0) results.push(a) // 減少一些計(jì)算
            // if(ItemJ - itemI > 0) results.push(itemJ - itemI)
    }
    // 拿到所有,后面減前面的結(jié)果
    return results
}

console.log(money * (Math.max(...results)))

弄完后,他說(shuō):“results的存在我知道意義,但是這個(gè)需要存在嗎?或者說(shuō),最后的Math.max(...results)遍歷需要嗎?”

我這里腦子宕機(jī),沒(méi)反應(yīng)過(guò)來(lái):“額,把所有存在的盈利差都取到,然后最后獲取最大的那個(gè),沒(méi)毛病啊,這里我暫時(shí)想不到有什么優(yōu)化點(diǎn)了啊。除了float浮點(diǎn)計(jì)算外。”

他提示到:“float這個(gè)我們不管他這里。上面那個(gè)問(wèn)題,如果有個(gè)max變量來(lái)接,每次雙層遍歷的時(shí)候比對(duì)一下,是不是可以解決?”

我瞬間明白意思,趕緊改了,最終代碼如下:

//匯率轉(zhuǎn)換  6.25  list
// 賣(高)- 買(低)
const arr = [6.78, 6.4326, 6.3458, 6.3424, 6.2893, 6.432, 6.3494, 6.6239, 6.5633, 6.5533]
const money = 100 // 人民幣
let getMax

// 分析
/*
小值之前的大值都是無(wú)效的
*/
    
getMax = function(array) {
    let length = array.length
    let max = 0 // 對(duì)比保存最大值即可
    for(let i = 0, k = length - 1; i < k; i++) {
        let itemI = array[i]
        for(let j = i + 1; j < length; j++) {
            let itemJ = array[j]
            let a = itemJ - itemI
            if(a > max) max = a // 這里每次都對(duì)比一下就行
    }
    // 拿到所有,后面減前面的結(jié)果
    return max
}

console.log(getMax(arr) * money)
這里有個(gè)小tip:如果是大數(shù),比如上十億甚至更多,數(shù)學(xué)上這個(gè)遍歷復(fù)雜度就不再緊要,因?yàn)椴还転g覽器采用的是并歸還是快速,要么是nlgn要么是n^2,但是上面已存在一個(gè)nlogn或者n^2,假設(shè)就是n^2,那么頂多就是2n^2的復(fù)雜度,忽略掉常數(shù)項(xiàng),復(fù)雜度依然是n^2。但是實(shí)際上是有價(jià)值的,比如你n^2需要10天,那么兩倍就是20天。。。沒(méi)差別是指數(shù)學(xué)上,數(shù)學(xué)上。。。

其他過(guò)程不再贅述,結(jié)果就是他們React我用Vue,不匹配,我拒絕換用React,實(shí)際上就是我不想工作。。。
總結(jié)

據(jù)他說(shuō),硅谷那一塊現(xiàn)在面試基本都是這種Online Coding方式,基本可以短時(shí)間內(nèi)斷定對(duì)方水平

我個(gè)人很認(rèn)可這種方式,除非他是吹牛,否則我認(rèn)為這種方式絕對(duì)是可取的,公司可以放很多考題或者實(shí)際業(yè)務(wù)題來(lái)讓面試的人回答,面試者可以在家里,在網(wǎng)吧處理,而面試官也可以在公司或者家里的電腦上評(píng)分,真實(shí),有效。比問(wèn)那些網(wǎng)上一大堆答案的面試題有用多了。

優(yōu)化這個(gè)問(wèn)題始終都是問(wèn)題

初級(jí)的工程師能夠解決問(wèn)題,高級(jí)的工程師可以用巧妙的方法更快速的解決問(wèn)題。你厲害,你值錢;你會(huì),他不會(huì),你就比他更值錢。

如果文章對(duì)你有任何幫助,我就非常開(kāi)心了。

我是風(fēng)藍(lán)小棲,定期更新技術(shù)文章,如果喜歡我的文章,請(qǐng)關(guān)注一下,謝謝!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96103.html

相關(guān)文章

  • 記錄一下自己的春招,唯品會(huì)、360、京東offer已收、騰訊offer_call已達(dá)?。。?/b>

    摘要:春招結(jié)果五月份了,春招已經(jīng)接近尾聲,因?yàn)榈搅酥芪逋砩蟿偤糜锌?,所以?jiǎn)單地記錄一下自己的春招過(guò)程。我的春招從二月初一直持續(xù)到四月底,截止今天,已經(jīng)斬獲唯品會(huì)電商前端研發(fā)部大數(shù)據(jù)與威脅分析事業(yè)部京東精銳暑假實(shí)習(xí)生的騰訊的是早上打過(guò)來(lái)的。 春招結(jié)果 五月份了,春招已經(jīng)接近尾聲,因?yàn)榈搅酥芪逋砩蟿偤糜锌?,所以?jiǎn)單地記錄一下自己的春招過(guò)程。我的春招從二月初一直持續(xù)到四月底,截止今天,已經(jīng)斬獲唯品...

    freewolf 評(píng)論0 收藏1
  • 一次騰訊筆試經(jīng)驗(yàn)

    摘要:不過(guò)很快就開(kāi)始著手做了,我提交了兩次代碼給面試官看,第一次是著重隨機(jī)座位算法的實(shí)現(xiàn),可是后來(lái)經(jīng)過(guò)提醒其實(shí)是側(cè)重于架構(gòu)知識(shí)方面的。于是又改了一次答案,提交了。嗯感覺(jué)算是過(guò)了筆試吧,起碼收到面試官面試的邀請(qǐng)了。 怎么說(shuō)呢,感覺(jué)還是很神奇啊。。。 我是在某直聘上面投遞了簡(jiǎn)歷,投遞之后不久一個(gè)tx-hr跟我聯(lián)系,簡(jiǎn)單溝通之后,就說(shuō)幫我內(nèi)推。我想這波可以啊。 下午就收到了技術(shù)面試官的短信,加...

    wushuiyong 評(píng)論0 收藏0
  • 一次騰訊筆試經(jīng)驗(yàn)

    摘要:不過(guò)很快就開(kāi)始著手做了,我提交了兩次代碼給面試官看,第一次是著重隨機(jī)座位算法的實(shí)現(xiàn),可是后來(lái)經(jīng)過(guò)提醒其實(shí)是側(cè)重于架構(gòu)知識(shí)方面的。于是又改了一次答案,提交了。嗯感覺(jué)算是過(guò)了筆試吧,起碼收到面試官面試的邀請(qǐng)了。 怎么說(shuō)呢,感覺(jué)還是很神奇啊。。。 我是在某直聘上面投遞了簡(jiǎn)歷,投遞之后不久一個(gè)tx-hr跟我聯(lián)系,簡(jiǎn)單溝通之后,就說(shuō)幫我內(nèi)推。我想這波可以啊。 下午就收到了技術(shù)面試官的短信,加...

    hoohack 評(píng)論0 收藏0
  • 一次騰訊筆試經(jīng)驗(yàn)

    摘要:不過(guò)很快就開(kāi)始著手做了,我提交了兩次代碼給面試官看,第一次是著重隨機(jī)座位算法的實(shí)現(xiàn),可是后來(lái)經(jīng)過(guò)提醒其實(shí)是側(cè)重于架構(gòu)知識(shí)方面的。于是又改了一次答案,提交了。嗯感覺(jué)算是過(guò)了筆試吧,起碼收到面試官面試的邀請(qǐng)了。 怎么說(shuō)呢,感覺(jué)還是很神奇啊。。。 我是在某直聘上面投遞了簡(jiǎn)歷,投遞之后不久一個(gè)tx-hr跟我聯(lián)系,簡(jiǎn)單溝通之后,就說(shuō)幫我內(nèi)推。我想這波可以啊。 下午就收到了技術(shù)面試官的短信,加...

    Charlie_Jade 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<