前端面試題6.11

經過將近一個星期的面試,深圳的面試一般都是技術筆試—>技術一面—>hr面試—>技術主管面試的流程。

  • 技術筆試一般都是一些基礎的概念描述,或者手寫代碼(這裏注意,平時還是要好好分析自己不會的代碼,不要百度後直接粘貼上去就完事了)。

  • 技術一面來說,就是問問你筆試題的答題思路等的一些問題,附帶問問你簡歷上的掌握的技能,也會問問你項目中的一些技術的使用問題。

  • hr面試就是問問你的學歷,個人情況,以及對加班的看法,問問能不能接受加班(肯定要回答接受啦吼~~~程序員加班理所當然),然後就是給你介紹下公司的業務和基本情況,還有最重要的就是薪資的問題了,我一般都會問試用期的薪資多少(重點!!!有的公司試用期工資是轉正的100%,一般的是給80%或以上,低於80%的話,大家要慎重考慮)

  • 然後就是技術主管面試,技術主管,也是會先了解一下你的個人情況,然後會根據你的筆試題以及簡歷提一些問題,不過沒有技術一面那麼多,但是技術主管就會問你一些偏計算機基礎啊,linux常用命令瞭解不瞭解啊,還有一些偏底層的東西,還會問下數據結構與算法之類的東西。

正文開始啦(筆試題。。。我能想起來的有印象的)

px ,em,rem

名稱 類型 相對於
px 相對長度單位 瀏覽器屏幕分辨率
em 相對長度單位 當前對象內文本的字體尺寸
  • px的特點:
    1. IE無法調整那些使用px作爲單位的字體大小;
    2. 國外的大部分網站能夠調整的原因在於其使用了em或rem作爲字體單位;
    3. Firefox能夠調整px和em,rem,但是96%以上的中國網民使用IE瀏覽器(或內核)。
  • em相對於當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人爲設置,則相對於瀏覽器的默認字體尺寸
    EM特點
    1. em的值並不是固定的;
    2. em會繼承父級元素的字體大小。
  • rem。rem是CSS3新增的一個相對單位(root em,根em),使用rem爲元素設定字體大小時,仍然是相對大小,但相對的只是HTML根元素。

用css寫一個三角形

div {
    width: 0;
    height: 0;
    border-width: 0 40px 40px;
    border-style: solid;
    border-color: transparent transparent red;
}

一般我們在給元素設置border的時候直接設置一個值,其實border是由四條邊組成的

div {
    width: 100px;
    height: 100px;
    border: 20px solid red;
}

以上代碼效果如圖示

如果我們給每一邊都設置不同的顏色,把元素的高度寬度設置爲0

div {
        width: 0px;
        height: 0px;
        border-width: 50px;
        border-style: solid;
        border-color: orange aqua deeppink dodgerblue;
    }

以上代碼效果如圖示

這時候我們就會發現這個元素是由四個三角形拼接而成的,此時我們只需要留一個三角形就行,我們這時就可以把其他的三個顏色設置爲透明或者白色就可以了

div {
        width: 0px;
        height: 0px;
        border-width: 50px;
        border-style: solid;
        border-color: white white deeppink ;
    }

效果如圖

以上就是使用css畫三角的方法

取消鼠標右鍵的默認事件

function   document.onmousedown(){
     if(event.button==2||event.button==3)
     {
           alert( “禁止右鍵操作 “)
           return   false
       }
}

數組和字符串的函數

https://www.cnblogs.com/leaf930814/p/6919197.html
挺多的不整理了,自己看下,平時一般都會用到。

寫出常見http狀態碼(真的是筆試題常見的問題,一定要記住)

1XX的代表請求已被接受,需要繼續處理
2XX這一類型的狀態碼,代表請求已成功被服務器接收、理解、並接受
3XX這類狀態碼代表需要客戶端採取進一步的操作才能完成請求
4XX這類的狀態碼代表了客戶端看起來可能發生了錯誤,妨礙了服務器的處理
5XX這類狀態碼代表了服務器在處理請求的過程中有錯誤或者異常狀態發生,也有可能是服務器意識到以當前的軟硬件資源無法完成對請求的處理

普通函數function( ) { }和()=>{}的區別

  • 普通函數的this指向調用者
  • 箭頭函數中的this一般指向window,箭頭函數不能構造函數,不能使用new

es6中的let 和const

  • const定義常量,let定義變量,不能重複定義,沒有變量提升;
  • var既可以定義常量也可以定義變量,有變量提升,可以重複定義。

react中function component 和class component的區別

  • class component是一個有狀態組件,function component是無狀態組件。
  • class component有生命週期,function component 沒有生命週期。

class component優點:

  • 可以提升性能,可以調用shouldComponentUpdate 減少組件渲染的次數
  • 需要用setState來改變組件的狀態

function component優點:

  • 代碼相對於class來說要少
  • 無狀態組件

寫出react 的生命週期

  • mounting掛載
    componentWillMount()組件掛載前
    componentDIDMount()組件掛載後
  • Updating更新
    componentWillReceiveProps()掛載組件接受屬性值
    shouldComponentUpdate()組件是否接受更新
    componentWillUpdate()組件即將更新
    render()組件渲染
    componentDidUpdate()組件更新後
  • Unmounting卸載
    componentWillUnmount()組件將被卸載

cookie,seession和localstorage區別

名稱 大小 請求攜帶 失效時間 作用域
cookie 4k 需自己設置失效時間 在所有同源窗口中都是共享的
session 5M 瀏覽器關閉時失效 不在不同的瀏覽器窗口中共享,即使是同一個頁面
localstorage 5M 一直有效 在所有同源窗口中都是共享的

Linux常用命令

cd /目錄 : 進入該目錄
cd … : 返回上一級目錄
cd ~ :返回主目錄
ls : 查看目錄中的文件
pwd: 顯示工作路徑
ls -lh: 顯示權限
mkdir dir: 創建一個叫做 ‘dir’ 的目錄’
who am i :查看當前使用的終端
date :顯示系統日期
clear :清空命令行
rm 文件 :刪除文件
chmod [-R] 777文件或目錄 :設置權限
sudo 命令 :以root的身份執行命令(輸入用戶自己的密碼)
history :顯示這臺機器的歷史命令

果然啊,代碼敲多了,記性開始變差了,總共做了十幾道題,就記住了這幾道(吼~~~~),我該吃核桃了,還有一些是js代碼題,太長了記不住就不寫了,好像是讓用js重寫Java的map(咳咳~ ~ 不會Java,不知道Java的map咋實現的,等我有空問問Java朋友的~~~)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章