好程序员分享HTML5优质技术文章--前端岗位需求分析面试的技术栈,专业的面试特点公司,并作简要分析。随着我的头发越来越少,可以说我们积累的经验越来越多。这里简单分享给大家。 先说必要的前端技能,html,css,JavaScript,jQuery(源码部分),nodejs,vue,react,设计模式,这些技术栈还是需要的,当然可以任选其一的两个框架。 现在大公司的大部分需求都是基于原生JavaScript的。比如腾讯、阿里等互联网龙头企业,在面试前端的时候对原生的要求非常高,以腾讯为代表的一系列企业都非常喜欢。让你在面试的过程中手写代码,所以如果你要去面试腾讯的小哥哥们,一定要提前做好准备。 列出我们最熟悉的腾讯。先来看看qq音乐前端工程师的招聘要求: ? 至少三年JavaScript开发经验;? 扎实的javascript基础知识;? 能熟练使用HTML、CSS、JavaScript开发高性能的网络应用;? 熟悉web性能优化,有性能优化实战经验;? 具有良好的代码风格、界面设计和程序架构意识;? 具有良好的沟通能力和团队合作精神;? 思路清晰,分析问题和解决问题的能力优秀;? 掌握服务器端编程语言,有实践经验;? 撰写技术博客1年多;? 为开源项目做出了贡献;? github个人原创项目50星以上;? 曾在知名行业技术会议分享? 良好的杠杆意识(站在巨人的肩膀上);? 良好的软件工程意识;? 有持续的技术热情和激情;? 喜欢音乐。 我们可以根据需求分析什么? 先说说腾讯的背景吧。腾讯的前端主要是基于原生的JavaScript,所以对JavaScript的要求肯定很高。那么高要求、高标准到底有多高呢?面试官通常会用丰富的经验给你各种组合拳,这套组合拳真的让新手摸不着头脑?先分析一组原生组合拳: 原生javaScript组合拳 问:基本类型和引用类型的区别。答:基本类型是栈中存放的值,引用类型是堆中存放数据的地址。 问:你能举一些JavaScript中引用类型的例子吗?答:Object,function,Array,Set,Map 当然JavaScript面试肯定离不开原型链和作用域链,那么什么是作用域链呢?这其实是一个很长的话题,因为这里我给大家解释一下我个人的一些理解: 函数在执行过程中会生成一个对象来临时存储数据。我们称这个对象为activeObject,简称AO。每个函数执行的时候,都会时不时的在栈中存入这样的东西,方便期间局部变量的存储。但是js有全局变量的概念,就是全局的数据可以在本地访问,怎么访问呢?冒泡访问当然是从内到外,但是怎么从内到外,由包含关系决定的访问顺序就是传说中的作用域链。 然后说说原型链,它是实例对象访问方法和共享数据的序列,也是由内而外的。 然后我会继续请教一些关于闭包和内存泄漏的问题。 闭包问题,其实就是两个函数嵌套,导致嵌套了两个activity对象,子activity对象存储父activity对象的属性,导致外部函数的局部变量被子activity对象保存一个JavaScript功能。 用代码表示: functionouter(){ varfreeVar=“hello” } 这是一个生成AO的outer函数,这个AO是由于toouter函数的执行创建的,所以我们暂时命名为AO(outer)。 函数的嵌套自然少不了闭包: functionouter(){ varfreeVar=“你好”; functioninner(){ console.log(freeVar); } returninner; } 一切都在AO(outer)里面创建的函数引用外部变量从而产生闭包。 收起你的黑问号脸,看看我的解释: inner函数执行的时候当然会产生AO,所以我们把这个AO命名为AO(inner),ok在这个ao里面我们做什么呢?您是否在外部函数中引用了变量freeVar? 是的,一定要用,但是就用freeVar这么简单吗?不不不,其实我们在内部函数中引用了AO(outer)。免费的 好,这次我们一起来看看吧。什么是AO?它是一个对象。既然是对象,那是引用类型吗?内存中是否存在引用类型?是的,那么恭喜你,这个AO。freeVar并不认为普通的局部变量会在函数结束时被删除,而是保留在内存中。这就是关闭。 基本上这套下来之后,你对JavaScript的理解,对JavaScript原理和机制的理解,以及面试官都会有更好的理解。接下来,我们将检查知识的广度。当然,这些问题都比较简单随意,也比较容易得到答案,所以后面的部分我只会列出问题。 布局和页面表现: 这是考察基本功的时候了。布局可以说是前端最常用的技能,所以我会根据各种需求来提问。当然,一些优化细节也很重要,比如: 什么是重绘和重排,哪个更耗性能?如何提高性能? 各种定心。 命名空间和命名方法。 Mobilerem布局,百分比布局,响应式布局。 HTML标签的语义化 JavaScript多线程。 http请求优化 算法设计模式 了解基本排序算法,比如快速排序,冒泡等排序算法,你必须知道一个。提前准备这些东西总是好的。 设计模式只是一个无用的大盒子,但是写设计模式才是真正有意义的,比如观察者模式,策略模式,可以让代码更雅(zhuang)雅(bi)明。 好了,今天的采访分析就到此为止吧。事实上,在面试过程中询问项目业务是很常见的。因为前端面试的多样性,大公司的每一次面试其实都是关于我们技术的。是对栈和学习能力的挑战。在不断进步和学习的过程中,我会完善自己,不断提高,丰富自己的阅历。愿天下太平,愿我长发永垂不朽。
