如何轻松拿到大厂面试offer | 掘金技术征文
朋友推薦去平安子公司一帳通去面試,沒有初面,直接進入二面和三面,蠻簡單的,過了,但放棄入職。下面談談面試題吧。
關于技術性的題目
1.document.ready和onload的區別?
頁面加載完成有兩種事件,一是ready,表示文檔結構已經加載完成(不包含圖片等非文字媒體文件),二是onload,指示頁 面包含圖片等文件在內的所有元素都加載完成。(可以說:ready 在onload 前加載!!!)
我的理解: 一般樣式控制的,比如圖片大小控制放在onload 里面加載;
而:jS事件觸發的方法,可以在ready 里面加載;
2.關于一個變量提升的題目
function a(){} var a console.log(typeof a) //function復制代碼還有就是介紹項目經驗巴拉巴拉。。。還問我接收不接收996,瞬間心里一萬cnm,當他問我的時候,我覺得是壓力測試,我就說 如果正常的是996,是不接收的,如果項目急,接收加班和周六趕項目。。。說了下平安薪資體系,年終獎4.8個月薪資,百分之多少能拿到吧,一般人都能拿到,以上是二面,三面是項目經理,也是問了些項目,根據自己說的再提一些問題。。。很好應付,我的體驗是,只要感到項目經理不是搞前端的,面試立場自己完全hold住。。。然后就結束啦,哈哈哈。。。接下來就是人事打電話,準備好多東西,薪資證明,簡歷要輸入平安簡歷庫中心,還有iq,eq什么測試,到這一步我就沒去做,好麻煩,都沒告訴我給我多少薪資,人事說經過以上步驟才能定薪,后來果斷放棄。。。沒想到好事發生了,我司給我漲薪了。。。
下面是平安銀行的面試,一個朋友的筆試題(直接貼圖,哈哈哈)
答案
1.編程題,讓我說直接jion(',')變成數組,然后再split(','),哈哈
但是要求要遞歸,遞歸嘛,也簡單喲,主要考察是不是數組,其次是遞歸結束條件
精簡版
const deepFlatten = arr => [].concat(...arr.map(v => (Array.isArray(v) ? deepFlatten(v) : v)));復制代碼2.
更精簡的實現
const groupBy = (arr, fn) =>arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val, i) => {acc[val] = (acc[val] || []).concat(arr[i]);return acc;}, {});復制代碼plus:算法精簡版推薦看github.com/Chalarangel…?蠻不錯的
3.4.圖形自己腦補吧,哈哈哈
下面是車輪互聯的筆試題(還是我朋友面的)
1.物理分辨率是硬件所支持的,邏輯分辨率是軟件可以達到的,互轉的話乘以像素倍率
詳細的說:在iphone3gs的時候,邏輯分辨率是320*480,物理分辨率也是320*480
iphone4出了之后,邏輯分辨率和3gs一樣是320*480,顯示的內容是一樣多的,但是物理分辨率變成了640*960,原來在3gs的一個像素內容,在iphone4上則填充了4個像素,因此雖然內容顯示還是一樣多,但是iphone4s的屏幕精細度比3gs高了2倍,像素倍率是2.
iphone5/5s/SE邏輯分辨率是320*568,和iphone4相比,邏輯分辨率寬度不變,高度增加了,所以相比iphone4,寬度內容顯示一樣多,但是高度內容增加。而物理分辨率是640*1136,像素倍率和iphone4/4s一樣,是2倍
iphone6的邏輯分辨率是375*667,比iphone4/4s/5/5s/SE邏輯分辨率都要大,所以顯示的內容更多。物理分辨率是750*1334,所以和上邊談到的機型一樣,仍然是2倍的像素倍率
iphone6plus邏輯分辨率是414*736,物理分辨率是1080*1920,像素倍率約等于2.6. 渲染像素是1242*2208。做設計圖的時候,也是假設1242*2208的物理分辨率(3的倍率)來做圖的,系統會把圖片壓縮到1080*1920。所以6plus做設計圖的尺寸1242*2208是基于假設,實際物理分辨率是1080*1920。據說是因為產能還有耗電的考慮,以后性能提升,也許會直接用1242*22082. BFC(Block formatting context)直譯為"塊級格式化上下文"。它是一個獨立的渲染區域,只有Block-level box參與, 它規定了內部的Block-level Box如何布局,并且與這個區域外部毫不相干。
? ?BFC布局規則:
哪些元素會生成BFC:
3.同源是指,域名,協議,端口相同,三者有一個不同,則為跨域
解決方案:
?node代理,具體自己起個node服務,在node中轉發來自瀏覽器的請求,node服務和瀏覽器請求要同源,然后轉發攜帶具體參數,cookie...,轉發到后端的跨域接口,轉發庫可以用axios,支持在node,和瀏覽器都可以使用(具體實現可以參照github)。
nginx配置代理(基礎配置,可以參照我之前寫的文章)
在react,vue中可以用webpack-dev-server配置代理
跨域資源共享cors,后端設置Access-Control-Allow-Origin:*
jsonp
。。。其他感覺現實開發中,并不是很實用
4.var reg =?/^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$/
5.
三步
1、找基準(一般是以中間項為基準)
2、遍歷數組,小于基準的放在left,大于基準的放在right
3、遞歸
function quickSort(arr){//如果數組<=1,則直接返回if(arr.length<=1){return arr;}var pivotIndex=Math.floor(arr.length/2);//找基準,并把基準從原數組刪除var pivot=arr.splice(pivotIndex,1)[0];//定義左右數組var left=[];var right=[];//比基準小的放在left,比基準大的放在rightfor(var i=0;i<arr.length;i++){if(arr[i]<=pivot){left.push(arr[i]);}else{right.push(arr[i]);}}//遞歸return quickSort(left).concat([pivot],quickSort(right));} 復制代碼6. 1.最高優先級是 (直接在標簽中的設置樣式,假設級別為1000)<div style="color:Red;"></div>
2.次優先級是(ID選擇器 ,假設級別為100) #myDiv{color:Red;}3.其次優先級是(類選擇器,假設級別為10) .divClass{color:Red;}4.最后優先級是 (標簽選擇器,假設級別是 1) div{color:Red;}5.那么后代選擇器的優先級就可以計算了啊比如 .divClass span { color:Red;} 優先級別就是:10+1=11復制代碼7.。。。
下次更新剩余題目答案。。。
總結
現在面試,小公司一般問框架和看你個人的學習能力,比如我公司,我一般看他的學習和研究能力,大公司一般看基礎能力,我沒怎么面過,不過網上很多都有文章參考。想要面試成功,自己要有扎實基礎,業務能力,當然表達也很重要,個人的研究喜歡編碼,一些公司也很看重。
juejin.im/post/5aaf2a…
總結
以上是生活随笔為你收集整理的如何轻松拿到大厂面试offer | 掘金技术征文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云架构的基础转变会带来哪些变化?
- 下一篇: 评分结果