京東廣告部也是總共二面淤翔,兩面給我的感覺(jué)完全不同翰绊;
一面,常規(guī)的自我介紹旁壮,項(xiàng)目經(jīng)歷介紹监嗜,寫(xiě)算法題:2道題,1)排列好的數(shù)組抡谐,二分查找裁奇,面試官說(shuō)盡量考慮全情況 ?2) 一個(gè)固定的數(shù)組,[1,2,3,4,4,5,7]麦撵,滿(mǎn)足下面幾個(gè)約束條件:a. 4不能位于第三位刽肠;b.5和7不能連續(xù),給出全排列免胃;第二道題主要的問(wèn)題在于給定的數(shù)組有重復(fù)的元素音五,要記得在遞歸給出全排列時(shí),排除重復(fù)計(jì)算8嵘场躺涝!
二面,二面的面試官傾向于基本知識(shí)吧扼雏!項(xiàng)目經(jīng)歷中spark的參數(shù)調(diào)優(yōu)坚嗜,spark或者h(yuǎn)ive實(shí)現(xiàn)取每個(gè)分組的top k的過(guò)程(假設(shè)表只有id, score兩列,根據(jù)id來(lái)group)诗充;hive實(shí)現(xiàn)兩個(gè)表的聯(lián)合查詢(xún)惶傻,表A是白名單,表B是全部的記錄其障,計(jì)算出白名單對(duì)應(yīng)的avg之類(lèi)的統(tǒng)計(jì)值银室;
我的代碼:hive代碼 select A.id, avg(score) from (select id from A left outer join select id, score from B on A.id=B.id) C group by A.id
面試官:去掉子查詢(xún)呢? 代碼應(yīng)該為 select avg(B.score) from A left outer join B on A.id = B.id group by A.id
接下來(lái)是基礎(chǔ)知識(shí)拷問(wèn)時(shí)間!崩潰~
1. new和malloc的區(qū)別(new是函數(shù)蜈敢,malloc是關(guān)鍵字辜荠;new在創(chuàng)建新對(duì)象時(shí)會(huì)調(diào)用構(gòu)造函數(shù),malloc不會(huì)抓狭,所以new可以用來(lái)新建自定義的對(duì)象class)伯病;
2. 指針和引用的區(qū)別:指針是一個(gè)變量,存儲(chǔ)一個(gè)地址否过,指向內(nèi)存的一個(gè)存儲(chǔ)單元午笛;而引用跟原來(lái)的變量是同一個(gè)東西,是原變量的一個(gè)別名苗桂;
3. 淺拷貝和深拷貝的區(qū)別药磺!要記得官方說(shuō)法哦:在有指針的情況下,淺拷貝只是增加了一個(gè)指針指向已經(jīng)存在的內(nèi)存煤伟,而深拷貝就是增加一個(gè)指針并且申請(qǐng)一個(gè)新的內(nèi)存癌佩,使這個(gè)增加的指針指向這個(gè)新的內(nèi)存;
如果用自定義的類(lèi)作為參數(shù)傳入函數(shù)中便锨,那么此時(shí)是淺拷貝還是深拷貝呢围辙?此時(shí)是淺拷貝哦;
后面放案,是常規(guī)的機(jī)器學(xué)習(xí)算法的掌握之類(lèi)的blabla~
PS:面試吸取的經(jīng)驗(yàn)是姚建,應(yīng)該和面試官溝通好你要面試的崗位,大概因?yàn)闆](méi)和面試官溝通清楚吱殉,二面的面試官按照大數(shù)據(jù)開(kāi)發(fā)工程師面試的桥胞,我明明是一個(gè)算法寶寶呀!!!
另外旷赖,深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí),趕緊入坑岸邪铡!