文章申明:转载来源:https://blog.csdn.net/weixin_45822171/article/details/111239192
导语:笔者继秋招面了汉得、易立德、凯捷咨询、虎牙、有车以后等公司后,总结了自己的一些技术面经。
尽管秋招前期的过程并不顺利,在为自己基础的不扎实买了单后,然而这些挫折并没能就此打倒我,我仍然还是执着于求职前端工程师。下面总结一下面试官面应届生常问的问题。
1.HTML篇
2.CSS篇
- css命名的书写规范是?
1.模块化命名
2.选择器皆为小写形式
3.每个选择器独占一列
3.javascript篇
- JavaScript的数据类型有哪些?
基本数据类型:string,number,boolean,null,undefined,symbol
引用数据类型:object
基本数据类型存在于栈中,做等号赋值操作进行的是值传递。
引用数据类型存在于堆中,做等号赋值操作进行的是址传递。
加问:堆和栈的区别?
1.堆空间的内存是动态分配的,一般存放对象,并且需要手动释放内存。
堆则是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定。所以调用这些对象的速度要相对来得低一些。
2.栈空间的内存是由系统自动分配,一般存放局部变量,比如对象的地址等值,不需要程序员对这块内存进行管理。 栈使用的是一级缓存, 它们通常都是被调用时处于存储空间中,调用完毕立即释放。
- this有哪些指向?
1.当new一个对象的时候,this是指向当前新创建的这个对象;
2.当直接调用构造函数的方法的时候,this指向的是全局文件;
3.当作为一个方法使用的时候,this指向的是当前这个对象。
- 当new一个对象的时候,其发生了什么?
1.先创建一个空对象,将它的引用赋给this,继承函数的原型
2.通过this将属性和方法添加到这个对象
3.最后返回this指向的新对象,也就是实例
- 闭包是什么,它的用处?
在js中,内部函数能够读取外层函数的变量与方法,而外层函数不能读取内涵函数的变量与方法
闭包就是一个函数能够访问另一个函数作用域里面的变量和方法。
用处有两个:一是它可以读取函数内部的变量,另一个就是让这些变量的值始终保存在内存中。重用变量又不能造成全局污染。
滥用闭包的坏处:消耗内存,使得程序处理速度变慢。
- 跨域是什么?怎么解决跨域问题?
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。
所谓同源策略是指域名,协议,端口均相同,只要有一个不同,就是跨域。
前端方法就用jsonp,jsonp是前端解决跨域最实用的方法
原理就是html中 的link,href,src属性都是不受跨域影响的,link可以调用远程的css文件,href可以链接到随便的url上,图片的src可以随意引用图片,script的src属性可以随意引入不同源的js文件。
- 事件委托是什么?其实现的原理?
事件委托:就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。
事件冒泡:就是事件从最深的节点开始,然后逐步向上传播事件(即依次在它的父级元素中被触发)。
- js阻止冒泡和取消默认事件的方法?
防止冒泡和捕获w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble = true
取消默认事件w3c的方法是e.preventDefault(),IE则是使用e.returnValue = false;
- 内存泄漏是什么?解决方法是什么?
内存泄漏:是指程序中已动态分配的堆内存,由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
解决办法:就是把那些不需要的变量,但是垃圾又收不走的那些赋值为null,然后让垃圾回收走。
- 原型,以及原型链的理解?
原型:每个对象都会在其内部初始化一个属性,就是原型。
原型链:当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么它就会原型里找这个属性,这个属性又会有自己的原型,于是就这样一直找下去,也就是我们所说的原型链。
- Ajax是什么?
Ajax是一种创建交互式、快速动态应用网页的网页开发技术。
它主要用来实现客户端与服务器短的异步通信效果,实现页面的局部刷新。
- Ajax的过程
1.创建XMLHttpRequest对象,也就是创建一个异步调用对象;
2.创建一个新的HTTP对象,并指定该HTTP请求的方法,url及验证信息。
3.设置响应HTTP请求状态变化的函数。
4.发送HTTP请求。
5.获取异步调用返回的数据。
6.使用JavaScript和dom来实现局部刷新。
4.vue篇
- vue生命周期的理解?
vue实例从创建到销毁的一系列过程称之为生命周期。
接下来,笔者将会更新一些在前端开发实习工作上的一些心得,小伙伴们可以关注我一起学习交流哦!
今年开放的岗位好多