金三银四在即,各大互联网公司大量抛出前端hc!腾讯和华为作为一线厂商,无论是薪资水平还是专业成就,都是无数技术人向往的公司。很多朋友都想借此机会一试。下面介绍一下腾讯和华为技术岗的职级体系和前端岗位要求。另外文末还有一个分享:腾讯和华为内部同事总结的完整面试题。希望大家了解并掌握这些知识点,争取通过每一轮面试!腾讯薪资结构:12+1+1=14薪,腾讯标准薪资是14薪,但通常能拿到16-20薪。年终奖视部门盈利情况而定,一般为3个月。腾讯对前端技术岗位的要求:3年以上web开发经验。熟悉TCP/IP、HTTP/HTTPS等网络协议,了解网络通信的基本原理。精通原生JavaScript和DOMAPI。熟练掌握HTML5/CSS3等相关技术。精通React、Vue等一种或多种前端框架,熟悉Webpack、Babel等打包构建工具,有NodeJS开发经验。熟练掌握设计模式和良好的代码规范意识。华为的薪酬结构华为的资历和技术等级是挂钩的。规定技术等级+13=资格。比如技术等级是3A,资质就是3A+13=16A。华为的大部分员工都在18年级以内。通常在华为工作十年的普通员工都是16-17年级左右,薪水在60万-70万左右。华为对前端技术岗位的要求:1、熟悉前端开发工作流程、打包构建工具,如gulp/webpack等2、至少熟悉三大框架之一——及其原理,Angular/Vue/反应3。熟悉常用数据结构和算法,基础扎实,熟练掌握htmI/css/javascript前端基础加分项:开源项目贡献者,熟悉Angular/Typescript技术栈,有U|经验组件库开发,性能优化经验,熟练掌握一门后端语言。最新腾讯和华为内部面试题HTML5新特性,语义浏览器标准模式和怪异模式xhtml和html的区别使用data-meta标签的好处canvasHTML过时标签IE6的bug,以及一些定位方法cssjs的放置和原因什么是渐进式渲染?HTML模板语言元视口原理CSS盒模型、box-sizingCSS3新特性、伪类、伪元素、anchors伪类CSS如何实现隐藏页面如何实现水平居中和垂直居中。说说位置,显示,请说明*{box-sizing:border-box;}的作用,并说明使用它的好处。浮动元素引起的问题及解决方案?绝对定位和相对定位,浮动元素显示值link和@import引入css的区别讲解css3的flexbox,以及inline和inline-block在适用场景的区别哪些是块级元素哪些是行级元素,它们是什么?特性网格布局表格布局的作用实现两列布局的方法有哪些?cssdpi你知道attribute和property的区别css布局问题吗?如何用css实现三栏布局?如果中间是自适应的呢?如何实现流体布局,如何实现响应式布局,如何实现移动布局方案,实现三栏布局(圣杯布局,双飞翼布局,flex布局)?填充百分比是相对于父级宽度还是它自己的宽度?css3动画,transition和animation的区别,动画的属性,加速度,模拟重力实现CSS3如何实现旋转图片(transform:rotate)sassless你对移动端开发了解多少?(响应式设计,Zepto;@media,视口,JavaScript正则表达式判断平台。)什么是bfc,如何创建bfc?它解决了什么问题?CSS中长度单位(px、pt、rem、em、ex、vw、vh、vh、vmin、vmax)的CSS选择器优先级是多少?sprite图片svg媒体查询的原理是什么?CSS加载是异步的吗?体现在哪里?经常遇到的浏览器兼容性问题有哪些?常用hack技巧Marginmerging讲解“::before”和“:after”中双冒号和单冒号的区别JSjs有哪些基本类型?什么是引用类型?null和undefined的区别。如何判断一个变量是Array类型?如何判断一个变量是Number类型?(不止一个)Object是引用类型吗?引用类型和原始类型有什么区别?哪个在堆上,哪个在栈上?JS常用dom操作api详解事件冒泡和事件捕获事件委托(手写例子),事件冒泡和捕获,如何防止冒泡?如何组织默认事件?闭包的理解?什么时候形成闭包?闭包实现方法?关闭的优点和缺点?这个有哪些使用场景?C和Java中的this和this有什么区别?如何改变这个值?call,apply,bind显示原型和隐式原型,手绘原型链,什么是原型链?为什么会有原型链多种创建对象的方式多种实现继承的方式及其优缺点New对象到底是做什么的?手写Ajax、XMLHttpRequest变量提升Example一个匿名函数的典型用例指出JS的宿主对象和本机对象的区别,为什么扩展JS内置对象是不好的做法?内置对象和函数是什么?attribute和property的区别文档加载和文档的区别DOMContentLoaded===and==,[]===[],undefined===undefined,[]==[],undefined==undefinedTypeof可以得到什么什么“usestrict”的值是什么,函数的作用域是什么?js有多少作用域?JS如何实现重载和多态常用数组api、字符串api原生事件绑定(跨浏览器)、dom0和dom2的区别?给定一个元素,获取其相对于视图窗口的坐标。如何实现图片滚动。js懒加载string类型有哪些方法?如何使用正则表达式的功能?深拷贝写一个通用的事件监听函数在web端设置cookie,获取setTimeout和promise的执行顺序JavaScript的事件流模型是什么?navigator对象、location和history的垃圾回收机制内存泄漏的原因及场景DOM事件的几种绑定方式DOM事件中target和currentTarget的区别typeof和instanceof的区别,instanceof的原理js动画和css3动画的比较javascript倒计时(setTimeout)js异常处理设计模式js知道那些轮播图的实现,以及轮播图组件的开发,websocket在轮播10000张图片过程中的工作原理和机制当手指点击触摸屏时会发生什么事件?什么是函数套用?并告诉我函数柯里化的实现应用了哪些JSAPI?(函数柯里化的一些理解,以及*函数式编程的应用,最后说说函数柯里化在JS中bind函数和数组的reduce方法中的使用。)JS代码调试框架用过哪些框架?zepto和jquery有什么关系?有什么联系吗?jquery的源码是如何实现selector的,$获取的对象为什么要设计成数组的形式,这样设计的目的是什么,jquery是如何绑定事件的,有几种类型和区别,什么是MVVM、MVC、MVPVue和AngularBinding原理Vue的双向数据、Angular组件间通信和路由原理React和Vue生命周期React和Vue的虚拟dom和diff算法Vue的observer、watcher、compile以及React是什么业务和角度用于?性能和MVC级别的区别jQuery对象和JS元素有什么区别?jQuery的$('xxx')做了什么?下面介绍一下bootstrap的网格系统是如何实现浏览器相关跨域的,以及JS为什么要限制跨域。前端安全:xss、csrf……浏览器页面加载情况如何?脚本阻塞的解决方案是什么?defer和async的区别?强大的浏览器缓存和协商缓存浏览器的全局变量有哪些?如何实现缓存机制?(从200缓存,到缓存到etag再到)先说说200和304的理解和区别,什么是preloading和lazyloading?XMLHttpRequest实例有多少种状态?dns解析原理,输入url后如何找到服务器,服务器怎么知道你的?浏览器渲染过程中的一些兼容性问题iesession拖拽实现url各部分的拆解面试题完整文档在文末,直接免费获取。ES6谈Promise你知道ES6的所有特性吗?如果遇到不知道是ES6还是ES5的东西,怎么区分呢?es6继承和es5继承有什么区别?promise封装ajaxletconst有什么好处?什么是es6生成器?async/await实现原理ES6和node的commonjs模块化规范区分了箭头函数,它的这个计算机网络HTTP协议头中包含了哪些重要的部分,以及HTTP状态码网络url是如何输入到输出的?为什么性能优化要减少HTTP访问次数?Http请求https(是的,https)的流程和原理握手挥手多少次?https的原理。http有多少次挥手和握手?TLS的中文名称?TLS在哪个网络层?TCP连接的特点,如何保证TCP连接的安全可靠?为什么一个TCP连接需要三次握手,两次握手不行吗?为什么tcp需要三次握手四次挥手?tcp的三次握手和四次波浪图(现场画写ack和seq的值)?tcp和udp的区别get和post有什么区别?在什么情况下使用?http2和http1有什么区别?websocket什么是tcp流,什么是http流babel如何将es6代码编译成es5的http2持久连接和流水线域名解析,是tcp还是udp域名发散和域名收敛发文件时,文件放在哪里?HTTP响应的标头中有什么?你知道工程上的webpack、gulp、grunt等吗?比较。如何配置webpack的入口文件,如何划分多个入口。webpack的loader和plugins的区别gulp的具体使用。前端工程的理解,如何自己实现一个文件包,比如用ES5、ES6写的代码放在一个JS文件中,如何编译兼容它们的模块化你知道AMD、CMD、CommonJS吗?为什么要模块化?不用的时候和用RequireJs的时候怎么写代码?说说模块化库,你了解过模块化发展的历史吗?下面分别说说同步和异步模块化的应用场景,说说AMD的异步模块化实现原理?如何将项目中所有requiremodule语法替换为importES6语法?使用模块化加载时,加载模块的顺序是什么?如果您不知道,您认为该顺序应该基于现有知识?Nodejs你了解nodejs的Express和koa的关系,有什么区别吗?nodejs适合做什么样的业务?nodejs和php、java有什么区别?Node.js中的Stream和Buffer有什么区别?如何解决node的异步问题?node是如何实现高并发的?先说下Nodejs事件循环的原理数据结构基础数据结构:(数组,队列,链表,堆,二叉树,哈希表等)8种排序算法,原理,适用场景,复杂度说多了,thebetter斐波那契数列的实现方法?性能优化的CDN有什么用?什么时候用?浏览器页面优化?如何优化DOM操作的性能单页应用的SEO解决方案有哪些?单页应用首屏显示慢是什么原因?解决办法是什么?其他正则表达式前端渲染和后端渲染的优缺点数据库的四大特性,什么是原子性,表之间的关系你觉得前端系统应该是什么样的?需要启动一个静态资源,里面有各种资源依赖。如何顺利上网?如果让你实现一个前端模板引擎,你会怎么做?你知道流媒体查询吗?SEOmysql和mongoDB有什么区别?restful方法讲解数据库知识,操作系统知识click在ios上有300ms的延迟,原因及如何解决移动端的适配,rem+mediaquery/metaheader在移动端设置手势和事件;unicode、utf8、gbk编码、乱码的理解解决三面四面常问的开放题都看了哪些书?你最近在读什么书?你用的是什么框架?你看过任何框架的代码吗?你学过设计模式吗?谈谈观察者模式!你能写下来吗?你最大的优点是什么?你最大的缺点是什么?你在大学做过最疯狂的事是什么?除了写博客,你还有什么其他产出?现在当你的领导给你一份工作,要求你一周内完成,你看了要求后估计需要3周,你该怎么办?你平时关注的前端技术在规划职业项目的过程中有没有遇到什么问题?你是怎么解决的?最近在研究什么?请介绍一个你最热衷和擅长的专业领域,以及介绍的学习计划。请介绍一下你参与过的印象最深刻的项目,为什么?并介绍自己在项目中的角色和作用。HR为什么要学前端?你平时是怎么学习前端的?输出是什么?你认为你最好的项目是什么?你能从你最敬佩的人身上学到什么?为什么你不像他们?与同事的哪些问题让你无法接受压力最大的事情是什么?你和同学一起做的最好的项目?你的朋友通常怎么说你?你喜欢什么样的工作氛围?你如何看待加班?你有什么客体意图吗?为什么这个城市的其他offer都接受你?你在大学里周末花最多时间做的三件事是什么?为了以后的职业规划,建议面试时不要表现出想创业的意思。敲黑板。如果没看过源码,建议从jQuery、zepto等的源码入手,后面可以了解Vue和React的源码思路和常用功能的实现。在描述项目经历时,不需要太详细,但要突出重点。由于篇幅有限,只能分享部分面试题。完整版面试题及答案可【点我】阅读下载~免费分享给大家
