摘要:前言接上篇前端筆試題面試題記錄上。默認值,不脫離文檔流,,,,等屬性不生效。。不脫離文檔流,依據(jù)自身位置進行偏離,當(dāng)子元素設(shè)置,將依據(jù)它進行偏離。。
前言
接上篇前端筆試題面試題記錄(上)。趁清明小長假,把上篇剩下的部分也寫一下,因為最近比較忙這篇已經(jīng)拖了很久了。現(xiàn)在剛剛開始銀四了,應(yīng)該還是有些小伙伴在找工作,時間還不算太晚,希望本篇可以幫到這些小伙伴。
個人博客了解一下:obkoro1.com
本文主要目錄如下:
面試題QA
面試遇到的一些小問題
Vue系列問題
面試題QA Q:了解ES6的let和const變量聲明嗎?跟ES5的var有哪些區(qū)別? let在同一個作用域里面:var可以重復(fù)聲明變量,let不能重復(fù)聲明同一個變量。
es5是函數(shù)作用域,即一個函數(shù)里面才是一個作用域,es6是塊級作用域(花括號"{這里面是一個作用域}"),如:if、for花括號里面都是一個作用域。
var有變量提升,可以在變量聲明之前使用,let不存在變量提升,在變量之前使用會報錯。
let 有暫時性死區(qū),阮一峰大佬es6入門文檔解釋如下:
constconst的很多特性跟let的特性一樣,都有:不可重復(fù)聲明,不存在變量提升,有暫時性死區(qū),都是塊級作用域。
還有一些跟let命令不一樣的地方:const必須在聲明的時候賦值,不然就會報錯。const聲明的常量不能更改。
這里的常量指的是:數(shù)值、字符串、布爾值,對于引用類型(數(shù)組和對象),const只能保證指針是固定的,至于數(shù)組和對象內(nèi)部有沒有改變就是const不能控制的地方
Q:Css的優(yōu)先級。這類也通常出現(xiàn)在筆試題中,具體的題目記不太清了。
權(quán)重優(yōu)先級: !important>style(1000)>id(100)>class(10) !important是優(yōu)先級最高的不管權(quán)重多少,始終采取important。 如果兩個選擇器作用在同一元素上,計算權(quán)重值,相加。權(quán)重高者屬性生效。 (筆試題就出現(xiàn)過層疊的class id選擇器,作用在同一個標簽上,然后問最后哪個css屬性生效)
找到一篇很好的寫css權(quán)重的文章,有興趣的可以看一下。你應(yīng)該知道的一些事情——CSS權(quán)重
Q:繼承函數(shù)對象的實例方法、原型的繼承。函數(shù)對象的繼承,在面試的時候,一般出現(xiàn)在筆試題那邊,也碰到過幾次,下面給出一個答案。
function father(name){//父函數(shù) this.name=name|"koro1"; this.code=function(){ //父類的實例方法 console.log(this.name+"coding"); } }; father.prototype.add=function(food){ //父類的原型方法 console.log(this.name+"eat"+food); } function son(name){ //子函數(shù) father.call(this); //將this綁定到子類,綁定父類的實例方法code(原型方法add還未綁定) this.name=name|| "OBKoro1"; } son.prototype = new father();//把父類的原型方法綁定到子類,實現(xiàn)繼承 var sonVar= new son("faker");//這里也可以傳參name son.prototype.constructor = son;//修復(fù)構(gòu)造函數(shù)的指向 console.log(sonVar.code()); console.log(sonVar.add());//可以調(diào)用父類的方法了Q:通過reduce函數(shù)來實現(xiàn)簡單的數(shù)組求和,示例數(shù)組[3,4,8,0,9];
這是一個簡單的筆試題,下面寫了兩種方法,一種是常見遍歷的方法,還有一種是使用eval()方法。
let reduce=(arr)=>{ //第一種常規(guī)遍歷。 let num=0; for(let [index,value] of arr.entries()){ num+=value; } return num; } let reduce=(arr)=>eval(arr.join("+")); //第二種 //join() 方法把數(shù)組元素放入字符串 上面的栗子: arr.join("+")得到字符串:"3+4+8+0+9"; // eval() 函數(shù)計算字符串 ,并執(zhí)行其中的的 JavaScript 代碼 //經(jīng)提醒:原來有一個reduce()數(shù)組求和的方法,把這個方法加上去 let result=[3,4,8,0,9].reduce((total,value)=>{ //這兩個參數(shù)是默認參數(shù)不用設(shè)置的 return total+value });Q:call()和apply()有什么區(qū)別?
call()和apply()第一個參數(shù)將用作函數(shù)內(nèi) this 的值,用于改變函數(shù)的this指向。call和apply的區(qū)別在于call()方法接受逗號分隔的參數(shù)作為后面的參數(shù),apply()接受一個參數(shù)數(shù)組作為后面的參數(shù)。
從別的博客那邊看到一個簡單的記憶方法:從call中的 C 聯(lián)想到逗號分隔(comma-separated),從apply中的 A 聯(lián)想到數(shù)組(array)。Q:position有哪些值?有什么作用?
static。默認值,不脫離文檔流,top,right,bottom,left等屬性不生效。
relative。不脫離文檔流,依據(jù)自身位置進行偏離,當(dāng)子元素設(shè)置absolute,將依據(jù)它進行偏離。
absolute。脫離文檔流,依據(jù)top,right,bottom,left等屬性在正常文檔流中偏移位置。
fixed。通過瀏覽器窗口進行定位,出現(xiàn)滾動條的時候,不會隨之滾動。
Q:如何實現(xiàn)一個閉包?閉包的作用有哪些?在一個函數(shù)里面嵌套另一個函數(shù),被嵌套的那個函數(shù)的作用域是一個閉包。
作用:創(chuàng)建私有變量,減少全局變量,防止變量名污染。可以操作外部作用域的變量,變量不會被瀏覽器回收,保存變量的值。
Q:請從2017-05-15T09:10:23 Europe/Paris提取出結(jié)果["2017","05","15","09","10","23"]這是一道筆試題,正則相關(guān)的,看他們要的內(nèi)容就可以知道,要把所有的數(shù)字都提取出來,可以寫一個只獲取數(shù)字的正則表達式。
let str = "2017-05-15T09:10:23 Europe/Paris"; let arr = str.match( /d{1,}/g); //match會返回一個數(shù)組, // d 查找數(shù)字 // {1,} 表示至少重復(fù)幾次 // /g表示全局搜索Q:請描述一下Promise的使用場景,"Promise"它所解決的問題以及現(xiàn)在對于異步操作的解決方案。
這是一道筆試題,這是我當(dāng)時的回答。
Promise的使用場景:ajax請求,回調(diào)函數(shù),復(fù)雜操作判斷。
Promise是ES6為了解決異步編程所誕生的。
異步操作解決方案:Promise、Generator、定時器(不知道算不算)、還有ES7的async
面試遇到的一些小問題:這里主要是面試中遇到的一些小的問題,一兩句話就可以說清的東西,大家可以稍微看一看。
函數(shù)參數(shù)變量提升function aa(val){ //函數(shù)參數(shù)的變量也會提升 console.log(val);//"函數(shù)傳參" var val="變量聲明"; console.log(val);//"變量聲明" } aa("函數(shù)傳參");js有哪些方法定義對象?
var obj=new Object();//new 一個對象 var obj={name:"OBKoro1"} //對象字面量寫法字符串?dāng)?shù)字轉(zhuǎn)換運算的問題
console.log(1+"2"+"2"); //122 console.log(+"1"+-"2"+"2");//-12 console.log("A"+"B"+"2");//AB2 console.log("A"-"B"+2);//NaN //兩個都是數(shù)字才能相加,否則都是以字符串形式拼接。 //相減只能兩個都是數(shù)字,字符串也會轉(zhuǎn)成數(shù)字,如果不能轉(zhuǎn)換,值就為NaNsplit()、join()的區(qū)別?
split()是將字符分割成一個數(shù)組,join()將數(shù)組轉(zhuǎn)為一個字符串pop()push()unshift()shift()的作用?
pop()刪除并返回數(shù)組的最后一個元素。 push()可向數(shù)組的末尾添加一個或多個元素,并返回新的長度。 unshift() 方法可向數(shù)組的開頭添加一個或更多元素,并返回新的長度。 shift() 方法用于把數(shù)組的第一個元素從其中刪除,并返回第一個元素的值。判斷一個數(shù)是否是整數(shù)
function isIntefer(x){ return x%1===0; //返回布爾 }如何將字符串轉(zhuǎn)為數(shù)字,如:12.3b?
var num=parseFloat("12.3b")什么是外邊距合并?
當(dāng)兩個垂直外邊距相遇時,它們將形成一個外邊距,合并后的外邊距的高度等于兩個發(fā)生合并的外邊距的高度中的較大者。
Q:你常用的git/svn 命令行有哪些?行內(nèi)元素有哪些,塊狀元素有哪些?css有哪些選擇器?自行谷歌,類似的還有css3新增的屬性,H5新增的屬性之類的,有空的話,稍微背一背,都碰到過。Vue系列問題:
我在面試過程中很少被問到框架,很多是在筆試題中碰到的,在介紹自己項目的時候,有時候自己會解釋這里用到了Vue的什么技術(shù),這個時候面試官可能就會順著問一問Vue,總的來說問的也不會太深。
以下是筆試真題:
vue-router怎么定義動態(tài)路由?怎么獲取傳過來的動態(tài)參數(shù)?
定義:path:"a/:value" 獲取:this.$route.params.value。
說出至少4中vue當(dāng)中的指令和它的用法。vue文檔顯示13個指令
vue如何綁定事件。@click="事件名"
v-show和v-if指令的共同點和不同點?
1.v-if是刪除/添加Dom標簽,不占據(jù)文檔位置,v-show切換css的display屬性,控制顯示隱藏,還會占據(jù)文檔位置。 2.v-if會刪除dom標簽所以v-if性能消耗會高一些,需要頻繁切換的話,使用v-show會好一點。
``是Vue的內(nèi)置組件,能在組件切換過程中將狀態(tài)保留在內(nèi)存中,防止重復(fù)渲染DOM。
列舉三個Vue常用的生命周期鉤子函數(shù)?Vue文檔
分別寫出webpack打包給服務(wù)器和本地開發(fā)預(yù)覽的命令代碼:
npm run build npm run dev 我都覺得很弱智。。
vue 父子組件是怎么進行傳參的?
父組件傳參給子組件通過props,子組件傳參給父組件是用事件傳遞的。細節(jié)見文檔。
v-model是用來做什么的,怎么使用。
用來為input輸入框或者單選框、select選擇框這類的東西做雙向綁定的。 使用栗子:
Vuex的工作流程,以及它的作用,使用場景。
vuex的工作流程:
在vue組件里面,通過dispatch來觸發(fā)actions提交修改數(shù)據(jù)的操作。
然后再通過actions的commit來觸發(fā)mutations來修改數(shù)據(jù)。
mutations接收到commit的請求,就會自動通過Mutate來修改state(數(shù)據(jù)中心里面的數(shù)據(jù)狀態(tài))里面的數(shù)據(jù)。
最后由store觸發(fā)每一個調(diào)用它的組件的更新
Vuex的作用:項目數(shù)據(jù)狀態(tài)的集中管理,復(fù)雜組件(如兄弟組件、遠房親戚組件)的數(shù)據(jù)通信問題。
vue的服務(wù)端渲染
vue的雙向綁定
兩個問題都不會...
看完了?點贊支持一下唄,這兒還有一篇,有空可以看看哈:前端筆試題面試題記錄(上)。
小結(jié)各位大佬們,找工作也是可以發(fā)現(xiàn)自己的薄弱點,然后加強它,白天的時候被某些問題給虐了,然后在晚上的時候,一定要把這些問題弄清楚,不要每次都被同樣的問題給虐,這樣就不好了。
最后:如需轉(zhuǎn)載,請放上原文鏈接并署名。碼字不易,感謝支持!本人寫文章本著交流記錄的心態(tài),寫的不好之處,不撕逼,但是歡迎指點。然后就是希望看完的朋友點個喜歡,也可以關(guān)注一下我。
個人blog and 掘金個人主頁
以上2018.4.7
參考鏈接:let 和 const 命令
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/115992.html
摘要:后續(xù)前端筆試題面試題記錄下小結(jié)我想說的是在找工作期間,肯定有自己發(fā)揮不好,或者不會的問題,一定要在晚上的時候自己再學(xué)習(xí)總結(jié)一下,在一個問題上面盡量不要栽倒兩次,學(xué)到了的才是自己的。 前言 過完元宵,就到上海找了波工作,現(xiàn)在已經(jīng)入職好了,蹭波熱點,寫一波面試記錄,內(nèi)容包含筆試題和面試題,還有一些沒有寫進來,準備再開一篇,許久沒寫了,寫的確實有些慢。如果喜歡的話可以點波贊,或者關(guān)注一下,希...
摘要:后續(xù)前端筆試題面試題記錄下小結(jié)我想說的是在找工作期間,肯定有自己發(fā)揮不好,或者不會的問題,一定要在晚上的時候自己再學(xué)習(xí)總結(jié)一下,在一個問題上面盡量不要栽倒兩次,學(xué)到了的才是自己的。 前言 過完元宵,就到上海找了波工作,現(xiàn)在已經(jīng)入職好了,蹭波熱點,寫一波面試記錄,內(nèi)容包含筆試題和面試題,還有一些沒有寫進來,準備再開一篇,許久沒寫了,寫的確實有些慢。如果喜歡的話可以點波贊,或者關(guān)注一下,希...
摘要:前言接上篇前端筆試題面試題記錄上。默認值,不脫離文檔流,,,,等屬性不生效。。不脫離文檔流,依據(jù)自身位置進行偏離,當(dāng)子元素設(shè)置,將依據(jù)它進行偏離。。 前言 接上篇前端筆試題面試題記錄(上)。趁清明小長假,把上篇剩下的部分也寫一下,因為最近比較忙這篇已經(jīng)拖了很久了。現(xiàn)在剛剛開始銀四了,應(yīng)該還是有些小伙伴在找工作,時間還不算太晚,希望本篇可以幫到這些小伙伴。 個人博客了解一下:obkoro...
閱讀 1371·2023-04-25 16:45
閱讀 1917·2021-11-17 09:33
閱讀 2306·2021-09-27 14:04
閱讀 914·2019-08-30 15:44
閱讀 2633·2019-08-30 14:24
閱讀 3411·2019-08-30 13:59
閱讀 1690·2019-08-29 17:00
閱讀 887·2019-08-29 15:33