引用外部css文件-【前端笔试题】——CSS预编译、管理工具、网络安全相关笔试题

2023-08-31 0 9,788 百度已收录

经常看到想进入后端行业的人问,后端开发需要学习哪些技术?

虽然,除了核心的HTML、CSS、JavaScript技术之外,还有CSS预编译、Vue、React、Node、Angular等前端框架; 代码管理工具,例如 git、代码编辑器、sublimetext、以及测试和网络安全。 您还需要了解一些相关技术。 其实要求可能没那么高,但至少要懂点东西。 我还计划了一些其他后端相关的笔试题,供大家明天学习参考。 希望这可以帮助。

CSS 预编译笔测试问题

在小型项目中,为了提高CSS的可维护性,人们开始使用CSS预编译技术。

CSS预编译部分的笔试题主要考察开发者对CSS预编译技术的使用情况。

事实上,考生需要了解CSS预编译技术中的变量、混合、方法、继承、作用域、语句、插值等。

目前 CSS 预编译器主要有三种类型,分别是 Less、Sass 和 Stylus。 考生可以选择其中之一并学习如何使用它。

1.什么是scss? 其主要特点是什么?

Sass是一种CSS预处理语言,scss是Sass语言中一组句型的扩展。 scss的特点是可以将CSS编译为函数,可以定义变量,可以嵌套定义,可以使用句子等。

2.安装和使用Sass的步骤是什么?

具体步骤如下。

(1)通过npm安装css-loader、node-loader、sass-loader等加载器模块。

(2)在webpack.config.js配置文件中定义Sass加载器。

3.Sass和Less有什么区别?

差异如下。

(1)编译环境不同。 Sass 的安装需要 Ruby 环境并在服务器端处理。 Less需要通过引入less.js进行处理,然后Less代码将CSS输出到浏览器; 也可以在开发环境中使用Less,然后编译成CSS文件直接在项目中运行。

(2)变量名不同。 Less 使用@,Sass 使用$。

(3)插值句型不同,Less中使用@{key},Sass中使用#{$key}。

(4)Sass的混合相当于Less的方式,Sass的继承相当于Less的混合。

(5)输出设置不同。 Less 没有输出设置。 Sass 提供 4 种输出选项:嵌套、紧凑、压缩和扩展。 nested选项用于嵌套缩进的CSS代码(默认),expanded选项用于展开多行CSS代码,compact选项以简单格式显示CSS代码,compressed选项显示压缩的CSS代码。

(6)Sass支持条件语句,如if...else、for循环等,但Less不支持。

(7)引用外部CSS文件的形式不同。 当Sass引用外部文件时,必须以“_”开头。 如果文件名以逗号“_”命名,Sass会认为该文件是引用文件,不会将其编译成CSS文件。 Less引用外部文件和CSS中的@import没有区别。

(8)Sass和Less的工具库不同。 Sass 有实用程序库 Compass。 简单地说,Sass 和 Compass 之间的关系有点像 JavaScript 和 jQuery 之间的关系。 Compass 是 Sass 的工具库。 在此基础上封装了一系列有用的模块和模板,补充和强化了Sass的功能。 Less有UI组件库Bootstrap。 Bootstrap是Web后端开发中著名的后端UI组件库。 Bootstrap中样式文件的部分源代码是使用Less语句模式编译的。

其实无论是Sass还是Less,它们都可以看作是基于CSS的中间语言,其目的就是让CSS开发更加灵活和强大。 Sass比Less有更强大的功能,你可以感受到Sass是一门真正的编程语言; Less比较清晰,上手容易,对编译环境要求比较低。

4. 什么是 CSS 预处理器/后处理器?

预处理器(例如Less、Sass、Stylus)是用于将Sass或Less预编译为CSS的工具,从而增强CSS代码的可重用性。 它有层、mixins、变量、循环、函数等,对于UI组件有非常方便的模块化开发能力,可以大大提高工作效率。

后处理器(例如PostCSS)通常被认为是根据完成的样式表中的CSS规范来处理CSS,使其更加有效。 目前最常见的做法是在 CSS 属性中添加浏览器特定的前缀来解决跨浏览器兼容性问题。

版本管理工具笔试题

在多人开发中,必须有一个理想的工具来管理每个人开发的代码。 Git、SVN等就是此类版本控制工具的代表。 版本控制工具部分的笔试题主要测试考生对版本控制工具的理解,例如使用Git提交代码、解决冲突、发布到服务器的方法,以及Git的架构概念、文件状态等。

1.谈谈SVN和Git的区别。

SVN是一个集中式版本控制系统。 版本库集中在中央服务器上,开发时使用自己的PC。 因此,首先需要从中央服务器获取最新版本,然后再进行开发。 开发任务完成后,您需要将开发的文件推送到中央服务器。 集中式版本控制系统必须连接到互联网才能工作。 如果在局城网络环境下带宽足够大、速度足够快的话,还是很方便的。 但如果在互联网环境下网速很慢,就会严重影响开发效率。 Giit 是一个分布式版本控制系统。 它没有中央服务器。 每个人的PC都是一个完整的版本库。 这样,工作的时候就不用工作了。 你需要连接互联网,因为版本库都在你自己的电脑上。 每个人的PC都有一个完整的版本库。 多人协作开发时,只需要将自己的变更文件推送给对方,就可以看到对方的变更。

2.说说Git中merge和rebase的区别。

在Git中引用外部css文件,merge和rebase最终的效果没有区别。 它们都是将不同分支的代码合并在一起,生成的代码树略有不同。 rebase操作不会生成新的节点,而是将两个分支合并为线性提交。 合并操作生成的代码树会变得杂乱。

3. 您使用什么工具来测试代码的性能?

Profiler、JSPerf 等

4. 如何管理你的项目代码? 在管理项目代码时,大多数情况下您使用命令行还是工具?

在项目开发阶段使用Git。 在项目开始时,通常会拉出一个单独的分支,并在此分支上开发新功能。 做好之后,让总监第一次review代码。 如果代码没有问题,他会将分支合并到主干中。

在没有冲突的情况下,更常使用命令行。 首先,每次提交之前,我都会使用Gitpull拉取线上代码,获取最新的代码。

然后通过Gitadd将新代码写入缓冲区,然后使用Gitcommit -m“note”生成本地版本,最后使用Gitpush推送到在线库。

5.Gitfetch和Gitpull有什么区别?

差异如下。

Gitpull相当于从远程获取最新版本并在本地合并;

Gitfetch相当于从远程获取最新版本并存储在本地,无需手动合并。

互联网安全笔试题

网络安全是网站正常运行的保障,因此越来越多的人开始关注网络安全的这一部分。

网络安全部分的笔试题主要考察考生的网络知识水平。 开发人员需要了解常见的网络攻击模式并在开发过程中预防漏洞。 网络漏洞是无法预测的(如果能预测到新的漏洞,就没有攻击者了),仍然需要对已知的漏洞进行封堵。

1.什么是SQL注入? 如何防护?

SQL注入是指在Web表单中插入SQL命令,输入域名或页面请求的查询字符串,最终误导服务器执行恶意SQL命令。

一般来说,有以下几种防护措施。

(1)仍然不相信用户的输入。 校准用户的输入。 可以使用正则表达式或者限制宽度、转换单冒号和双“-”等。

(2)仍然不要使用SQL的动态组装。 您可以使用参数化SQL或直接使用存储过程进行数据查询和访问。

(3)仍然不要使用管理员权限的数据库连接,对每个应用程序使用单独的权限和有限权限的数据库连接引用外部css文件

(4)不要以明文形式存储绝密信息,并通过加密或散列处理密码和敏感信息。

2. XSS攻击有哪些? 如何防护?

XSS(CrossSiteScripting)攻击是指攻击者在网页中插入恶意的 HTML 标签或 JavaScript 代码。 例如,攻击者在峰会中放置一个看似安全的链接,利用用户的点击,窃取cookie中用户的隐私信息; 或者攻击者在峰会上添加恶意表单,当用户提交表单时,但信息会传输到攻击者的服务器,而不是用户之前认为的可信站点。

要防止XSS攻击,首先需要仔细检查代码中用户输入的地方和变量的宽度,过滤“”、“;”等字符。 和 ”'”。 其次,任何内容在放入页面之前都必须进行编码,以防止泄漏 htmltag。 做好这个级别至少可以避免一半以上的XSS攻击。

3、如何防止cookie信息被窃取?

首先,防止cookie中的用户隐私被直接窃取,例如电子邮件、密码等。

其次,cookie与系统ip绑定,增加cookie泄露的风险。 这样,攻击者获得的cookie就没有实用价值,无法用于重放。 如果网站不需要在浏览器端操作cookie,可以在Set-Cookie末尾添加HttpOnly,以防止JavaScript代码直接获取cookie。

最后,尝试使用 POST 请求而不是 GET 请求来提交表单。

4. XSS攻击和CSRF攻击有什么区别?

XSS攻击是为了获取信息,不需要提前知道其他用户页面的代码和数据包。 CSRF攻击用于代替用户完成指定的动作,需要知道其他用户页面的代码和数据包。

5. 如何防范CSRF攻击?

要成功完成 CSRF 攻击,受害者必须依次完成两个步骤。

(1)登录可信网站A,并在本地生成cookie。

(2)在不发布A的情况下,防止访问危险网站B进行服务器端CSRF攻击的方法有很多种,但大体思路都是一样的,就是减少客户端页面中的伪随机数。

6.您对Web攻击技术了解多少?

(1)XSS攻击:通过存在安全漏洞的Web网站注册到用户浏览器中,渲染非法HTML标签或运行非法JavaScript进行攻击的行为。

(2)SL注入攻击:通过在Web表单中插入SQL命令,输入页面请求的域名或查询字符串,最终误导服务器执行恶意SQL命令。

(3) CSRF攻击:攻击者设置陷阱,迫使经过身份验证的用户执行意外的状态更新,例如个人信息或设置信息。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 css 引用外部css文件-【前端笔试题】——CSS预编译、管理工具、网络安全相关笔试题 https://www.wkzy.net/game/185201.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务