前端高频面试题

688 阅读5分钟
前端面试的时候,除了面试你的技术,也会考察你的思维能力和逻辑能力。

如果想要更好地提高面试通过率,除了学习提升之外,也可以多关注一些面试题。

在这里,我们收集了一些前端高频面试题和知识点作为我们复习的重点。

希望大家能够对前端学习和求职有帮助!

想要在互联网大厂获取一份满意的工作,除了提高自己业务能力之外,还需要掌握前端知识!

【每日分享】面试官每日精选出互联网企业中高频的面试题、知识点解析~

一、如何保证你的代码不会出现 Bug? 有什么办法来保证代码不会出现 Bug?

1、通过测试、 bug收集等手段发现 bug,解决问题。

2、多问为什么,把自己的思考过程说出来,让面试官觉得你很有逻辑!

3、学会反思。

4、学会写代码框架的文档。

5、多和别人交流自己写的代码遇到的问题,并且能够提出解决方案。

二、用 css写一个动画

   在浏览器中添加一个动画效果

   首先在页面上画一个圈,然后在圈上画两个矩形。

   然后分别写好两个矩形的属性(大小和位置):

   然后依次写好上面所说的所有属性,最后在元素里插入三个矩形的属性,分别是大小和位置。

   最后分别写上一个动画属性:

   这样就完成了一个动画效果,在此基础上可以添加各种图形:
   
      

image.png

三、如何将复杂的业务逻辑封装到 css中?

1、利用 JavaScript+ CSS (JS)来实现:先定义页面,再定义组件,然后进行布局操作,这样就可以大大提高你的代码调试效率了。

2、利用 HTML标签实现组件化:首先要对页面的元素进行分类,然后将组件划分成不同类型(包括链接/文本/图片等),将这些组件封装到 css中去。

3、使用 TypeScript编写代码:使用 TypeScript来编写 CSS代码。

4、利用 HTML标签:使用 HTML标签来完成浏览器中页面的布局和功能。

5、将复杂的逻辑拆分成小片段:将一系列的小片段组合成一个大部分,并且在这个部分中添加一个逻辑控制点(control point),最后将这个逻辑控制点与其他元素组合成一个完整的页面。

6、根据页面中具体的功能和元素对页面进行合理配置:可以通过在页面中添加 flex控件,对页面进行动态配置,同时还可以根据你设定的规则对页面进行动态调整。

image.png

四、如果要测试前端代码,如何保证数据正确,不出错呢:

比如,如果你要测试某个项目,需要写一段代码,那么可以从以下几个方面去测试:

-创建页面并对其进行加载;

-查看当前页面是否符合预期,如果不符合可以返回给开发人员;

-查看前端代码是如何被写出来的,通过代码的内部逻辑、函数的名称来判断有没有异常情况;

-对所生成的页面进行测试,通过对页面上各个按钮、元素等数据的操作来判断是否有异常情况产生;

-查看用户点击了什么按钮,该怎么处理;

这道题是面试中经常会问到的面试题之一了。

另外,还需要注意代码要尽量做到规范,不要使用不常用的、特殊用途函数来测试代码内容。

image.png

五、如何保证页面中使用的标签为 json格式?

在 JavaScript中使用 domain可以防止 js格式的错误。

1、如果一个页面中只使用了一个 domain,可以通过添加 continue. js中的 className或者 referenceName来保证这一点。

2、也可能是因为页面中包含多个标签,所以需要使用一个变量名来实现不同标签的区分。

3、还有一种方法是在页面上创建一个空元素并将其作为 js格式。

4、如果页面中包含多个标签,那么可以通过创建一个 className. js或 referenceName的方式来确保 JavaScript在使用 Json格式时不会出错。

5、如果需要对页面进行调整,可以通过设置一个全局变量来将页面的布局调整为 js或 html格式,这样就可以保证所有的标签都是 js形式。

6、在使用 className. js时,还可以通过设置 dom:> continue. js或referenceNameNomad_name_demo ()方式来防止标签使用错误。

image.png

六、说说你在做项目时候遇到了哪些问题呢?

在做项目时遇到的最大问题是什么?

我遇到的主要还是一些逻辑问题,我发现一个问题是,如果你不了解系统的架构和原理,就很难快速定位到其中的难点和疑点。

当需求确定之后,就需要详细地分析需求了。

然后要找到各个功能之间的逻辑关系,明确每个模块中具体实现哪些逻辑和功能。

在设计模块的时候可以采用多线程、缓存等方式来解决这些问题。

比如:你可以考虑在某个模块中使用多线程、缓存解决方案等。

image.png

七、怎么处理你的代码出现的 bug:

1)如果你的代码出现了问题,你会怎么处理?

(2)如果你发现了一个 bug,怎么处理才能让它更好一些呢?

在出现问题后,首先要去找 bug的原因,找到 bug的根源所在,才能去解决 bug。

然后可以使用相应的方法(requests/set)去修复这些 bug。

这样可以大大提高效率。

然后对于解决这些 bug后,还需要一些后续工作。

image.png