写在前面
CSDN话题挑战赛第1期
活动详情地址:CSDN
参赛话题:前端面试宝典
话题描述:欢迎各位加入话题创作得小伙伴,如果我没有猜错得话,我觉得你是应该同我一样是一位前端人。如今前端在IT事业中的占比越来越重,已经成为不可缺少的部分,前端技术也是层出不穷,各种技术类、技术框架也蜂拥而出,前端面试的难度也随之增加,如果我们拥有一套前端面试宝典。如果你是应聘者:你就可以从容的solo面试官,如果你是面试官:你就可以将应聘者拷问到骨子里!
总之我们大家一起将自己的面试经验以及学习到的知识点汇聚于此,形成一套体系的前端面试宝典。让读者无论是面试还是学习都能够有非常大的收获。就让我们携手共筑前端面试宝典吧!!!
CSS 优先级规则是什么?
答案:
选择器与元素的相关度越高,优先级越高,具体规则如下:
开发者定义选择器 > 用户定义选择器 > 浏览器默认选择器
内联样式(style="" ) > 内(<style> )、外部样式( <link/> )
ID 选择器 > 类选择器、属性选择器、伪类选择器 > 类型选择器、伪元素选择器
相同优先级,书写顺序后 > 前
同级选择器,复合选择器 > 单选择器
自身的选择器 > 继承自父级的选择器
Cookie 和 Session 的区别?
答案:
| 项目 | Cookie | Session |
| 存取值类型 | 字符串 | 大多数类型 |
| 存取位置 | 客户端 | 服务端,sessionId 非主动传参时,依赖 Cookie |
| 存取方式 | 文件 | 文件、内存、关系或非关系型数据库等 |
| 大小 | 受客户端限制 | 自行配置 |
| 过期时间 | 写入时设置,用户可清除 | 自行配置,用户可清除对应Cookie,服务端自动清除过期 Session |
| 兼容性 | 需浏览器开启,用户同意 | 不依赖 Cookie 时,通过 Get 或自定请求字段传入 |
| 作用范围 | 可设置跨子域,不可跨主域 | 用户身份唯一标识符不变时,可跨域,跨服务器。默认受限于 Cookie,仅限会话期间有效 |
说一下对HTML语义化的理解?
答案:
语义化就是选择与语义相符合的标签,使代码语义化,这样不仅便于开发者进行阅读,同时也能维护和写出更优雅的代码,还能够让搜索引擎和浏览器等工具更好地解析。
通俗的讲语义化就是让正确的标签做正确的事情,比如段落用p标签,头部用header标签,主要内容用main标签,侧边栏用aside标签等等。
什么是闭包?
答案:
闭包的实质是因为函数嵌套而形成的作用域链
比如说:函数 A 内部有一个函数 B,函数 B 可以访问到函数 A 中的变量,那么函数 B 就是闭包
用途:使用闭包主要是为了设计私有的方法和变量
优点:可以避免变量被全局变量污染
缺点:函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包
解决方法:在退出函数之前,将不使用的局部变量全部删除
进程和线程的区别
答案:
进程是程序的一次执行过程,是一个动态概念,是操作系统资源分配的基本单位
线程是任务调度和执行的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源
HTTP和HTTPS的区别
答案:
HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
HTTP 是明文传输,HTTPS 通过 SSL\TLS 进行了加密
HTTP 的端口号是 80,HTTPS 是 443
HTTPS 需要到 CA 申请证书,一般免费证书很少,需要交费
HTTP 的连接很简单,是无状态的;
HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。
get和post的区别
答案:
GET请求会将数据放到URL后面
POST请求会将数据放到请求体中
GET请求对所发信息量的限制是2000 个字符
POST请求对信息量没有限制
GET请求的参数只能是ASCII码,所以中文需要URL编码
POST请求传参没有这个限制
GET请求用于提交非敏感数据和小数据
POST请求用于提交敏感数据和大数据
写在最后
CSDN话题挑战赛第1期