CVTE筆試+一面


筆試已經過了好幾天了,基本忘記差不多了,當時也沒記錄

只記得有一道盒子模型,還有一道多個數組合並去重

 

昨天進行的一面,影響還比較深,說一下吧

先說一下CVTE,到了之后確實感覺這個的環境還有服務確實很棒

之前實習面試見到的那個現場安排的人居然還認識我,當然我也見過她

秋招的第一場面試,確實緊張了,這不像之前的實習面試,也是一直在調整,不過輪到我了之后還是緊張了

有兩個面試官,自己提供簡歷,沒有自我介紹,一上來直接看簡歷往項目問:

1、介紹一下項目唄,有什么功能?

我:結結巴巴地解釋起來,確實糟糕了,雖然我有准備,但是緊張了

2、項目有用什么jQuery嗎?

我:沒有

3、為什么不用jQuery呢?

我:(居然問這個,難道很看重jQuery?)然后我也是邏輯比價差地解釋一番

在我介紹項目的一個功能時:輸入框不能輸入小於0 的數值時,引出下面這道題

4、用JS實現一個輸入框只能輸入數字的情況,不能用input的控件實現

(我有點懵了,手寫的哦,有點難下手啊,而且我考慮到正則,可是不熟悉啊,胡亂地寫了一把)

答案:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="jquery-1.12.1.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#field").change(function(){
            var s=$("#field").val();
            var reg = new RegExp("^[0-9]*$");
            if(!reg.test(s)){
            alert("請輸入數字");
            }
            });
        })
        

    </script>
</head>
<body>
    Enter your name: <input id="field" type="text" />
    <input type="text" onkeyup="if(!/^\d+$/.test(this.value)) { this.value='';}" />
    
</body>
</html>

5、寫一個布局,左邊200px,右邊隨瀏覽器的變化而變化

 (這個好熟悉啊,因為我前幾天剛好有看到,可是我覺得容易並沒有仔細看,這時就沒轍了)感度和背景只是為了方便顯示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .left{
            float:left;
            width:100px;
            height: 300px;
            background-color: green;
        }
        .right{
            margin-left:100px;
            height: 300px;
            background-color: yellow;}
    </style>
</head>
<body>
    <div class="left">123</div>
    <div class="right">123</div>
</body>
</html>
        .left{width:100px;float:left;height: 300px;background-color: yellow;}
        .right{overflow:hidden;height: 300px;background-color: green;}

6、實現多個數組合並去重排序

(這不就是筆試題再加一個排序嗎?還好面試前有再看一下,不過就是寫的沒那么快,然后就說時間到了,才知道原來是有時間的)

function concat_(arr1,arr2){
  var arr = [];
  arr = arr1.concat();
  for(var i = 0;i < arr2.length;i++){
    if(arr.indexOf(arr2[i]) == -1) arr.push(arr2[i]);
  }
  return arr;
}

function bing(arr1,arr2,arr3){
    var result = concat_(arr1,arr2);
    for(var i = 2;i < arguments.length;i++){
        result = concat_(result,arguments[i]);
    }
    return result;
}

參考於:http://m.blog.csdn.net/article/details?id=49634041

var arr1 = ['a','b'];
var arr2 = ['a','c','d'];
var arr3 = [1,'d',undefined,true,null];

//合並兩個數組,去重
var concat_ = function(arr1,arr2){
    //不要直接使用var arr = arr1,這樣arr只是arr1的一個引用,兩者的修改會互相影響
    var arr = arr1.concat();
    //或者使用slice()復制,var arr = arr1.slice(0)
    for(var i=0;i<arr2.length;i++){
        arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
    }
    return arr;
}

//合並多個數組,去重
var concat = function(arr1,arr2,arr3){
    if(arguments.length <= 1){
        return false;
    }
    var concat_ = function(arr1,arr2){
        var arr = arr1.concat();
        for(var i=0;i<arr2.length;i++){
            arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
        }
        return arr;
    }
    var result = concat_(arr1,arr2);
    for(var i=2;i<arguments.length;i++){
        result = concat_(result,arguments[i]);
    }
    return result;
}

//合並多個數組,去重,排序
var arr1 = [1,6,4,0];
var arr2 = [8,20,7,4.5];
var arr3 = [6,0,7,90,2];

var concat = function(arr1,arr2,arr3){
    if(arguments.length <= 1){
        return false;
    }
    var concat_ = function(arr1,arr2){
        var arr = arr1.concat();
        for(var i=0;i<arr2.length;i++){
            arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
        }
        return arr;
    }
    var result = concat_(arr1,arr2);
    for(var i=2;i<arguments.length;i++){
        result = concat_(result,arguments[i]);
    }
    //排序
    function sortNumber(a,b){
        return a - b;
    }
    return result.sort(sortNumber);
}

7、http用的是什么協議

  眾所周知,Internet的基本協議是TCP/IP協議,目前廣泛采用的FTP、Archie Gopher等是建立在TCP/IP協議之上的應用層協議,不同的協議對應着不同的應用。

  WWW服務器使用的主要協議是HTTP協議,即超文體傳輸協議。由於HTTP協議支持的服務不限於WWW,還可以是其它服務,因而HTTP協議允許用戶在統一的界面下,采用不同的協議訪問不同的服務,如FTP、Archie、SMTP、NNTP等。另外,HTTP協議還可用於名字服務器和分布式對象管理。 

2.1 HTTP協議簡介
  HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分布式超媒體信息系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規范化工作正在進行之中,而且HTTP-NG(Next Generation of HTTP)的建議已經提出。
HTTP協議的主要特點可概括如下:
1.支持客戶/服務器模式。
2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯系的類型不同。
由於HTTP協議簡單,使得HTTP服務器的程序規模小,因而通信速度很快。
3.靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。
4.無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答后,即斷開連接。采用這種方式可以節省傳輸時間。
5.無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味着如果后續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時它的應答就較快。

14.緩存(Cache):反應信息的局域存儲。

2.3 HTTP協議的運作方式
HTTP協議是基於請求/響應范式的。一個客戶機與服務器建立連接后,發送一個請求給服務器,請求方式的格式為,統一資源標識符、協議版本號,后邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。服務器接到請求后,給予相應的響應信息,其格式為一個狀態行包括信息的協議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務器信息、實體信息和可能的內容。
許多HTTP通訊是由一個用戶代理初始化的並且包括一個申請在源服務器上資源的請求。最簡單的情況可能是在用戶代理(UA)和源服務器(O)之間通過一個單獨的連接來完成(見圖2-1)。
圖2-1
當一個或多個中介出現在請求/響應鏈中時,情況就變得復雜一些。中介由三種:代理(Proxy)、網關(Gateway)和通道(Tunnel)。一個代理根據URI的絕對格式來接受請求,重寫全部或部分消息,通過URI的標識把已格式化過的請求發送到服務器。網關是一個接收代理,作為一些其它服務器的上層,並且如果必須的話,可以把請求翻譯給下層的服務器協議。一個通道作為不改變消息的兩個連接之間的中繼點。當通訊需要通過一個中介(例如:防火牆等)或者是中介不能識別消息的內容時,通道經常被使用。 圖2-2
上面的圖2-2表明了在用戶代理(UA)和源服務器(O)之間有三個中介(A,B和C)。一個通過整個鏈的請求或響應消息必須經過四個連接段。這個區別是重要的,因為一些HTTP通訊選擇可能應用於最近的連接、沒有通道的鄰居,應用於鏈的終點或應用於沿鏈的所有連接。盡管圖2-2是線性的,每個參與者都可能從事多重的、並發的通訊。例如,B可能從許多客戶機接收請求而不通過A,並且/或者不通過C把請求送到A,在同時它還可能處理A的請求。
任何針對不作為通道的匯聚可能為處理請求啟用一個內部緩存。緩存的效果是請求/響應鏈被縮短,條件是沿鏈的參與者之一具有一個緩存的響應作用於那個請求。下圖說明結果鏈,其條件是針對一個未被UA或A加緩存的請求,B有一個經過C來自O的一個前期響應的緩存拷貝。
圖2-3
在Internet上,HTTP通訊通常發生在TCP/IP連接之上。缺省端口是TCP 80,但其它的端口也是可用的。但這並不預示着HTTP協議在Internet或其它網絡的其它協議之上才能完成。HTTP只預示着一個可靠的傳輸。
以上簡要介紹了HTTP協議的宏觀運作方式,下面介紹一下HTTP協議的內部操作過程。
首先,簡單介紹基於HTTP協議的客戶/服務器模式的信息交換過程,如圖2-4所示,它分四個過程,建立連接、發送請求信息、發送響應信息、關閉連接。
圖2-4
在WWW中,“客戶”與“服務器”是一個相對的概念,只存在於一個特定的連接期間,即在某個連接中的客戶在另一個連接中可能作為服務器。WWW服務器運行時,一直在TCP80端口(WWW的缺省端口)監聽,等待連接的出現。
下面,討論HTTP協議下客戶/服務器模式中信息交換的實現。 1.建立連接 連接的建立是通過申請套接字(Socket)實現的。客戶打開一個套接字並把它約束在一個端口上,如果成功,就相當於建立了一個虛擬文件。以后就可以在該虛擬文件上寫數據並通過網絡向外傳送。
2.發送請求
打開一個連接后,客戶機把請求消息送到服務器的停留端口上,完成提出請求動作。
HTTP/1.0 請求消息的格式為:
請求消息=請求行(通用信息|請求頭|實體頭) CRLF[實體內容]
請求 行=方法 請求URL HTTP版本號 CRLF
方 法=GET|HEAD|POST|擴展方法
U R L=協議名稱+宿主名+目錄與文件名
請求行中的方法描述指定資源中應該執行的動作,常用的方法有GET、HEAD和POST。不同的請求對象對應GET的結果是不同的,對應關系如下:
對象 GET的結果
文件 文件的內容
程序 該程序的執行結果
數據庫查詢 查詢結果
HEAD——要求服務器查找某對象的元信息,而不是對象本身。
POST——從客戶機向服務器傳送數據,在要求服務器和CGI做進一步處理時會用到POST方法。POST主要用於發送HTML文本中FORM的內容,讓CGI程序處理。
一個請求的例子為:
GET http://networking.zju.edu.cn/zju/index.htm HTTP/1.0
頭信息又稱為元信息,即信息的信息,利用元信息可以實現有條件的請求或應答 。
請求頭——告訴服務器怎樣解釋本次請求,主要包括用戶可以接受的數據類型、壓縮方法和語言等。
實體頭——實體信息類型、長度、壓縮方法、最后一次修改時間、數據有效期等。
實體——請求或應答對象本身。
3.發送響應
服務器在處理完客戶的請求之后,要向客戶機發送響應消息。
HTTP/1.0的響應消息格式如下:
響應消息=狀態行(通用信息頭|響應頭|實體頭) CRLF 〔實體內容〕
狀 態 行=HTTP版本號 狀態碼 原因敘述
狀態碼表示響應類型
1×× 保留
2×× 表示請求成功地接收
3×× 為完成請求客戶需進一步細化請求
4×× 客戶錯誤
5×× 服務器錯誤
響應頭的信息包括:服務程序名,通知客戶請求的URL需要認證,請求的資源何時能使用。
4.關閉連接
客戶和服務器雙方都可以通過關閉套接字來結束TCP/IP對話

 

8、HTTPS

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。 它是一個URI scheme(抽象標識符體系),句法類同http:體系。用於安全的HTTP數據傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同於HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司(Netscape)進行,並內置於其瀏覽器Netscape Navigator中,提供了身份驗證與加密通訊方法。現在它被廣泛用於萬維網上安全敏感的通訊,例如交易支付方面。[1] 

1. HTTP 的URL 以http:// 開頭,而HTTPS 的URL 以https:// 開頭
2. HTTP 是不安全的,而 HTTPS 是安全的
3. HTTP 標准端口是80 ,而 HTTPS 的標准端口是443
4. 在OSI 網絡模型中,HTTP工作於應用層,而HTTPS 工作在傳輸層
5. HTTP 無法加密,而HTTPS 對傳輸的數據進行加密
6. HTTP無需證書,而HTTPS 需要CA機構wosign的頒發的SSL證書

 

9、HTML5語義化

<header></header>
<footer></footer>
<nav></nav>
<hgroup></hgroup>
<section></section>
<article></article>
<aslde></aside>
<figure></figure>
<datalist></datalist>
<details></details>

為了在沒有CSS的情況下,頁面也能呈現出很好地內容結構、代碼結構:為了裸奔時好看;
用戶體驗:例如title、alt用於解釋名詞或解釋圖片信息、label標簽的活用;
有利於SEO:和搜索引擎建立良好溝通,有助於爬蟲抓取更多的有效信息:爬蟲依賴於標簽來確定上下文和各個關鍵字的權重;
方便其他設備解析(如屏幕閱讀器、盲人閱讀器、移動設備)以意義的方式來渲染網頁;
便於團隊開發和維護,語義化更具可讀性,是下一步吧網頁的重要動向,遵循W3C標准的團隊都遵循這個標准,可以減少差異化。

http://www.html5jscss.com/html5-semantics-section.html

 

10、SEO

SEO是由英文Search Engine Optimization縮寫而來, 中文意譯為“搜索引擎優化”。SEO是指通過站內優化比如網站結構調整、網站內容建設、網站代碼優化等及站外優化,比如網站站外推廣、網站品牌建設等,使網站滿足搜索引擎收錄排名需求,在搜索引擎中提高關鍵詞排名,從而把精准用戶帶到網站,獲得免費流量,產生直接銷售或品牌推廣。

http://uxc.360.cn/archives/984.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM