• 前端面试要求


    一般公司首先让你做自我介绍:

      基本的自我信息:姓名、毕业学校、专业(选择性的说)、介绍一下你在什么公司、做过的项目(肯定是要包装。包装但不是真正意义上的作假。)企业是通过面试来考验你是否满足企业需求。你现在并没有非常体面在线项目,但是你需要这些证明自己的实力,那你可以选择一些确实是你会做,懂得做的项目,作为自己的项目并且展示给别人看。

     

    如何介绍自己做过的项目:

    1、简单的介绍项目的由来(为什么公司要做这个项目,对公司有什么好处,2、3句带过即可)。

    2、介绍你在这个项目中负责的事情和职责。因为1个十几号人,什么事都你做了,其他人就只能斗地主。前端的话,你就可以说,我负责日常的营销活动的H5制作,购物车、订单模块前端页面的制作。

    3、在你负责的项目和事情里,你用到了哪些技术,(再说每一个技术点的,必须要说下用在项目的什么地方:比如说整个商城的页面切换包括购物车、订单页面都是采用Vue的路由来做。)像素级的还原设计页面,REM布局、弹性布局、CSS3动画、过渡效果、字体图标、canvas、本地存储、Vue框架、Vue路由、Vuex进行状态管理、微信小程序。

    4、我这个项目遇到的问题。说一下你解决困难问题事情。比如说某个模块,父子组件直接的信息传递和状态管理,又或者说解决某个库兼容性问题。

    5、做个总结,你在项目中的收获。比如说,技术上的收获,基本可以独立完成商城前端页面的开发。事业上的收获,老板加薪、升职了、表扬了。

     

    前端面试所遇到的技术点:

    HTML的问题

      (1)     行标签和块级标签分别有哪些?

      (2)     常见HTML5的标签有哪些?

      (3)     怎么页面结构会比较好?

      (4)     如何减少HTTP请求和优化?

    减少请求的资源,将多个CSS资源打包到1个文件里。将多个JS打包到1个JS文件里。采用雪碧图将多个图片放置到1个图片里。尽量的压缩css文件、js文件、图片文件、采用无损压缩的方式或者是使用webP格式的图片。

      (5)     HTML5和HTML4的区别。

        ①    自定义标签

        ②    HTML5兼容HTML4

        ③    多出一些标签canvas/video/audio/iframe等等,多出些JS相关的API

     

    CSS

      (1) 选择器的问题,选择器权重的问题。

        Id>class>element,越详细越精确的选择器权重越过,!important可以迅速将权重提高。

      (2) 布局相关的问题。

        正常的布局、圣杯布局、居中定位、REM布局的原理、弹性布局、清除浮动问题

      (3) Tansfrom位移、旋转、倾斜、缩放的问题?

        一般问顺序执行的问题,先位移在旋转和旋转后位移有什么区别

      (4) 动画、过渡性能优化的问题?

        尽量减少非常多元素同时产生动画,尽量少的在1个元素里设置多个动画效果。位移的话,尽量使用transform的tranlate来做位移,不要用定位的left、top、right、bottom来实现位移。

     

    JS

      (1)     变量的提升、函数的提升

      (2)     构造对象,构造对象的方法。

        构造函数、class、工程模式构造对象、单例模式

      (3)     什么是原型链、原型对象、怎么在原型链上添加方法,如何通过原型实现继承

        构造函数的prototype、事例化出来的对象__proto__

      (4)     this的指向问题

        This是根据函数被哪个对象调用,那么这个this就指向谁。在箭头函数里,箭头函数定义的时候,this指向谁就一直指向谁。改变this的指向可以通过call/apply/bind都可以改变this的指向。

      (5)     数组常见的方法和排序问题

        数组的增删改查、数组排序、数组复制

      (6)     事件的问题?

        Onclick跟addEventListener这两种方式监听的事件有什么区别。(addEventListener一个事件可以绑定多个函数,很多新出移动端事件比如touch等只有它支持、还可以设置捕获或者冒泡来进行监听)

    如何阻止冒泡事件?Event.cancelbubble = true

    事件传递参数的问题?一般在元素上绑定data-xx=’xx’

      (7)     如何处理操作dom

        对元素对象的增删改查操作。

      (8)     如何获取元素的一些信息:元素的大小、屏幕的宽度、元素的位置

      (9)     如何获取浏览器的一些信息:url地址的获取、UserAgent的获取、地理位置的获取

      (10)   jQuery的链式原理?

      (11)   jQuery常用的方法有哪些?

      (12)   Vue虚拟DOM是什么原理?

      (13)   Vue数据的双向绑定的原理?

      (14)   Vue路由的原理是什么?

      (15)   Vuex状态管理的整个过程是什么样的?

      (16)   Vue生命周期这个过程是什么样的?

      (17)   React虚拟dom什么原理?

      (18)   React路由什么原理

      (19)   Redux是什么原理

      (20)   小程序一些常见的API方法?

     

  • 相关阅读:
    arcgis for silverlight 控制图层显示级别
    Telerik for silverlight RadAutoCompleteBox 动态数据源
    ARM嵌入式学习--OK6410裸板程序--2.GPIO控制LED跑马灯(从ARM汇编跳转到C语言)
    ARM嵌入式学习--OK6410裸板程序--1.GPIO控制LED
    Linux内核移植--1.添加NAND Flash分区
    Linux 快速释放端口与释放内存缓存
    jquery ajax session超时处理
    相濡以沫不如相忘江湖
    SQL Server数据库无法启动(万金油解决办法)
    多显示器实现屏幕扩展(VGA DVI HDMI)
  • 原文地址:https://www.cnblogs.com/wuzaipei/p/9608675.html
Copyright © 2020-2023  润新知