热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

記一次騰訊霸面前端

霸面的是前端實習生崗亭,當時聽同硯說前端缺人,還特地設了一個霸面區,就去溜了個彎兒,畢竟不嘗嘗,怎樣曉得本身有多菜呢o( ̄︶ ̄)o一面手藝面,口試官關注的點一直在數據結構、算法、計

霸面的是前端實習生崗亭,當時聽同硯說前端缺人,還特地設了一個霸面區,就去溜了個彎兒,畢竟不嘗嘗,怎樣曉得本身有多菜呢o( ̄︶ ̄)o
一面手藝面,口試官關注的點一直在數據結構、算法、計算機收集這些點,關於框架也有問,但較少,而且直接問道理。下面是把口試官問的題目做個總結,以便今後查漏補缺

  1. 手寫快排,講道理
  2. 一道算法題,詳細見下文
  3. http和https的區分,為何https更平安
  4. IP協媾和dns的關聯,屬於七層中第幾層
  5. 寫一個帶#和?的url
  6. 讀過vue源碼么?vue雙向綁定的道理是什麼?用js怎樣完成
  7. 用的axios呀,axios和背景交互的道理是什麼?除了axios另有什麼和背景交互的要領

1.數據結構

數據結構中的排序一直是一個繞不過去的點,口試官的第一道題就是讓用js寫快排,然鵝,我並沒有溫習快排ε(┬┬﹏┬┬)3,寫不出來以後口試官就讓講一下快排的道理。

快排道理:

王道上對快排的詮釋是:在待排序表L[1·····n]中任取一個元素pivot作為基準,經由歷程一趟排序姜待排序表劃分為自力的兩部分L[1···k]和L[k+1···n],使得L[1···k]中一切元素小於pivot,L[k+1···n]中一切元素大於pivot,則pivot放在了其終究位置L(k)上,這個歷程稱作一趟疾速排序。然後離別地櫃的對兩個子表反覆上述歷程,直至每部份內只要一個元素或空為止,即一切元素放在了其終究位置上。

算法完成:

var arr=[1,54,27,93,100,45,98]
function qsort(a,l,r){
var x=a[l],i=l,j=r
if(i>=j)
return x
while(i while(i a[i]=a[j]
while(i a[j]=a[i]
}
a[i]=x
qsort(a,l,i-1)
qsort(a,i+1,r)
}
qsort(arr,0,6)
alert(arr)

這個代碼運轉不成功,待修正;
幾種內排序的算法完成,時刻複雜度都須要控制

2.算法

這是口試的末了一道題,算是拿個算法題來壓軸。從25匹馬中選出5匹最快的馬,只要五個賽道,求起碼的次數(沒有秒錶計時)

這個題當時沒想出來,厥後口試完畢,在網上找到一個如出一轍的題,步驟這裏就不寫了,詳情請移步點我點我

3.計算機收集

收集里的學問考的比較多一些,有http和https,ip協定,DNS,url

http和https有什麼區分?

回答說https更平安以後,口試官接着問,問什麼更平安
HTTP協定傳輸的數據都是未加密的,也就是明文的,因此運用HTTP協定傳輸隱私信息異常不平安,HTTPS協定是由SSL+HTTP協定構建的可舉行加密傳輸、身份認證的收集協定,要比http協定平安。

HTTPS和HTTP的區分主要以下:

1、https協定須要到ca要求證書,平常免費證書較少,因此須要肯定用度。
2、http是超文本傳輸協定,信息是明文傳輸,https則是具有平安性的ssl加密傳輸協定
3、http和https運用的是完整差別的銜接體式格局,用的端口也不一樣,前者是80,後者是443
4、http的銜接很簡樸,是無狀況的;HTTPS協定是由SSL+HTTP協定構建的可舉行加密傳輸、身份認證的收集協定,比http協定平安。

 客戶端在運用HTTPS體式格局與Web效勞器通信時有以下幾個步驟,如圖所示。
  (1)客戶運用https的URL接見Web效勞器,要求與Web效勞器豎立SSL銜接。
  (2)Web效勞器收到客戶端要求后,會將網站的證書信息(證書中包括公鑰)傳送一份給客戶端。
  (3)客戶端的瀏覽器與Web效勞器最先協商SSL銜接的平安品級,也就是信息加密的品級。
  (4)客戶端的瀏覽器依據雙方同意的平安品級,豎立會話密鑰,然後應用網站的公鑰將會話密鑰加密,並傳送給網站。
  (5)Web效勞器應用本身的私鑰解密出會話密鑰。
  (6)Web效勞器應用會話密鑰加密與客戶端之間的通信。
《記一次騰訊霸面---前端》

假如須要將網站從http切換到https究竟該怎樣完成呢?
這裏須要將頁面中一切的鏈接,比方js,css,圖片等等鏈接都由http改成https。比方:http://www.baidu.com改成https://www.baidu.com
BTW,這裏雖然將http切換為了https,照樣發起保存http。所以我們在切換的時刻能夠做http和https的兼容,詳細完成體式格局是,去掉頁面鏈接中的http頭部,如許能夠自動婚配http頭和https頭。比方:將http://www.baidu.com改成//www…。然後當用戶從http的進口進入接見頁面時,頁面就是http,假如用戶是從https的進口進入接見頁面,頁面縱然https的。

ip協定的作用是什麼,dns是什麼,屬於七層中的哪一層

巴拉巴拉說了一點,能夠說的不太對,口試官就沒在接着問,據別的同硯說,口試官接着問她:域名剖析存儲在那裡,效勞器,在效勞器的那裡???鬼曉得

IP 地點是我們舉行TCP/IP通信的基本,IP地點是一個32位二進制數的地點, 由4個8位字段構成,每一個字段之間用點號離隔,用於標識TCP/IP宿主機。每一個IP地點都包括兩部分:收集ID和主機ID。收集ID標識在同一個物理收集上的一切宿主機,主機ID 標識該物理收集上的每一個宿主機,因而全部Internet上的每一個計算機都依託各自唯一的IP地點來標識。

IP地點的花樣為: IP地點 = 收集地點 + 主機地點 或許 IP地點=主機地點 + 子網地點 + 主機地點。一個簡樸的IP地點實在包括了收集地點和主機地點兩部分主要的信息。

IP地點必需和一個收集掩碼(Net Mask)對應運用, 缺一不可。收集掩碼的主要作用是通知計算機怎樣從IP地點中析取收集標識和主機標識。其完成是經由歷程設置掩碼來將底本屬於主機ID的位(bit)借用給收集ID, 從而起到削減主機數目的作用。當經由歷程設置掩碼從主機ID來借用位(bit)時, 最少要留下2個位(bit)來做主機ID。因為只留一個位的情況下,全0和全1都沒有意義.

在TCP/IP協定棧的完成中設定了很多的劃定規矩,其中有一條就是, 兩台聯網的主機想直接通信的話,必需有雷同的收集標識和差別的主機標識。具有差別的收集標識的兩台主機要想通信的話必需經由歷程一台中間設備 – 路由器的轉發才完成。

關於大多數撥號上網的用戶,因為其上網時刻和空間的離散性,為每一個用戶分派一個牢固的IP地點(靜態I P)是異常不可取的,這將形成IP地點資本的極大糟蹋。因此這些用戶一般會在每次撥通ISP的主機后,自動取得一個動態的IP地點,該地點固然不是恣意的,而是該ISP要求的收集ID和主機ID的正當區間中的某個地點。撥號用戶恣意兩次銜接時的IP地點極能夠差別,但是在每次銜接時刻內IP地點穩定。

DNS( Domain Name System)是“域名體系”的英文縮寫,它用於TCP/IP收集,它所供應的效勞是用來將主機名和域名轉換為IP地點的事情。
至於同同硯說的剖析存儲在那裡,我猜是問怎樣查詢的歷程:

1、在瀏覽器中輸入www . qq .com 域名,操作體系會先搜檢本身當地的hosts文件是不是有這個網址映照關聯,假如有,就先挪用這個IP地點映照,完成域名剖析。
2、假如hosts里沒有這個域名的映照,則查找當地DNS剖析器緩存,是不是有這個網址映照關聯,假如有,直接返回,完成域名剖析。
3、假如hosts與當地DNS剖析器緩存都沒有響應的網址映照關聯,起首會找TCP/ip參數中設置的首選DNS效勞器,在此我們叫它當地DNS效勞器,此效勞器收到查詢時,假如要查詢的域名,包括在當地設置地區資本中,則返回剖析效果給客戶機,完成域名剖析,此剖析具有權威性。
4、假如要查詢的域名,不由當地DNS效勞器地區剖析,但該效勞器已緩存了此網址映照關聯,則挪用這個IP地點映照,完成域名剖析,此剖析不具有權威性。
5、假如當地DNS效勞器當地地區文件與緩存剖析都失效,則依據當地DNS效勞器的設置(是不是設置轉發器)舉行查詢,假如未用轉發形式,當地DNS就把要求發至13台根DNS,根DNS效勞器收到要求後會推斷這個域名(.com)是誰來受權治理,並會返回一個擔任該頂級域名效勞器的一個IP。當地DNS效勞器收到IP信息后,將會聯絡擔任.com域的這台效勞器。這台擔任.com域的效勞器收到要求后,假如本身沒法剖析,它就會找一個治理.com域的下一級DNS效勞器地點(http://qq.com)給當地DNS效勞器。噹噹地DNS效勞器收到這個地點后,就會找http://qq.com域效勞器,反覆上面的行動,舉行查詢,直至找到www . qq .com主機。
6、假如用的是轉發形式,此DNS效勞器就會把要求轉發至上一級DNS效勞器,由上一級效勞器舉行剖析,上一級效勞器假如不能剖析,或找根DNS或把轉要求轉至上上級,以此輪迴。不管是當地DNS效勞器用是是轉發,照樣根提醒,末了都是把效果返回給當地DNS效勞器,由此DNS效勞器再返回給客戶機。
ip屬於收集層,dns屬於應用層,附圖一張:
《記一次騰訊霸面---前端》

拜見ipipipipip dns dns dns dns dns

寫一個帶?和#的url

港真,我不曉得?和#是什麼意義。如今想一想昨天跟口試官胡鄒了一下就覺得好尬
#代表網頁中的一個位置,比方,http://www.XXX.com/index.html…。
?是帶的參數。比方 http://www.cnallshop.com/sch?…,參數是?背面的id=1,網站的順序會依據此參數查詢數據庫。
拜見#示意頁面定位

4.vue.js

關於框架,只問了一個題目,果真大廠都重基本,起首

讀過vue源碼嗎?

gg,沒有,

說一下vue完成雙向綁定的道理是什麼

道理道理,一臉懵逼。。。
鏈接形貌這個文章寫的真好,挖坑,本日沒空了,來日誥日總結一下
還問了一個題目,和背景交互用的什麼,axios呀,那axios的道理是什麼?
阿西吧,除了axios另有什麼和背景交互的體式格局?
1、 link標籤的href屬性
2、 script標籤的src屬性
3、 img標籤的src屬性
4、 ajax發送要求
5、 表單提交發送要求
6、 a標籤的href發送要求
7、 iframe的src屬性發送要求
前後端完成數據交互的要領點我


推荐阅读
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 媒介本文的前身是源自github上的项目awesome-github-vue,但由于该项目上次更新时候为2017年6月12日,许多内容早已逾期或是许多近期优异组件未被收录,所以小肆 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 本文整理了Java中org.gwtbootstrap3.client.ui.Icon.addDomHandler()方法的一些代码示例,展示了Icon.ad ... [详细]
  • 颜色迁移(reinhard VS welsh)
    不要谈什么天分,运气,你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人,然后你就会被自己的才华吓到。------ ... [详细]
author-avatar
墨鱼轩869
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有