第二部分 Web 前端&Linux&SQL
- 什么是 Ajax,常用场景有哪些
ajax 的全称是 Asynchronous Javascript And XML, 即为异步 JS 和
XML, 涉及到的核心类有 XMLHttpRequest 和 FormData。主要用于网页中
异步请求服务器的资源和局部刷新网页中的数据; 交互数据的格式常用 xml、
json 两种。 - 简述 xml 和 html 的关系
两者都是标记语言,HTML 一个是超文本标记语言,XML 一个是扩展标
记语言。区别主要三个方面:(1)HTML 不具备扩展性,而 XML 是原标记语
言,可以用于定义新的标记语言;(2)HTML 侧重于如何表现,而 XML 是侧
重于如何描述信息;(3)对于标记的嵌套和配对,HTML 较松; XML 则是严格
要求,它是遵循 DTD 的树形结构;
总而言之 HTML 用于网页数据展示(表格、图片、视频等),XML 用于数
据交互。 - 简述一下 CSS 盒子模型
CSS 盒子模型又叫框模型,包括内容(content)、填充(padding)、边框
(border)、边界(margin)等属性。
border:元素的边框,用于将框的边缘与其他框分开;
margin:外边距,表示框的边缘与相邻框之间的距离,也称为页边空
白;
padding:内边距,表示框内容和边框之间的空间;
另外,width 和 height 指的是内容区域的宽度和高度。
增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框
的总尺寸。
而外边距则可以在多个元素框之间创建空白,避免这些框都挤在一起。总
之用了 padding 属性或者 margin 属性设置了元素的边距以后,会增加元素
在页面布局中所占的面积。 - 简述一下 src 与 href 的区别
href 是 Hypertext Reference 的缩写,表示超文本引用。用来建立当前
元素和文档之间的链接。常用于的标签有:<link>、<a>。src 是 source 的
缩写,src 的内容是页面必不可少的一部分。src 指向的内容会嵌入到文档中
当前标签所在的位置。常用的标签有:<img>、<script>、<iframe>、
<source>、<video>、<audio>。 - 简述 xml 和 json 的区别
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,
XML 相比较 json 来说,XML 文件较大,格式复杂,解析比较困难。而 json
可以转成 js 对象,解析简单,传速快; json 是目前用于前后端交换的常用数
据格式。 - px,em,rem 的区别
px 是像素单位,一般指定固定大小使用, 如 16px。em 和 rem 是相对
单位,em 相对于父级字体大小的倍数,rem 是相对根级(root)字体大小的倍
数,如 1.5em, 1.2rem。 - CSS 中的定位模式有哪些?有何特点
static:默认值,没有定位,元素出现在正常的流中(忽略 top, bottom,
left, right 或者 z-index 声明)。
relative:生成相对定位的元素,相对于其正常位置进行定位。元素的位
置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed:元素框的表现类似于将 position 设置为 absolute,不过其包含
块是视窗本身。
absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元
素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 - 浅谈 DML、DDL、DCL 的区别
DML(data manipulation language)数据库操纵语言:就是我们最经
常用到的 SELECT、UPDATE、INSERT、DELETE 等语句,主要用来对数据库
的数据进行一些操作。
DDL(data definition language)数据库定义语言:其实就是我们在创
建表的时候用到的一些 sql,比如说:CREATE、ALTER、DROP 等语名。
DDL 主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初
始化工作上。
DCL(Data Control Language)数据库控制语言:是用来设置或更改数
据库用户或角色权限的语句,包括(grant,deny,revoke 等)语句。这个比较
少用到。 - JavaScript 的核心组成有哪些
javascript 主要有以下三大核心:ECMAScript 、DOM(document
object model)和 BOM(browser object document )。
(1)ECMA 是规定了 js 的语法标准。
(2)DOM 是文档对象模型,规定了文档的显示结构,可以轻松地删
除、添加和替换节点
(3)BOM 是浏览器对象模型,就是浏览器自带的一些功能样式,如搜
索框、设置等浏览器窗口交互的对象
10.eval 是做什么的
eval()函数把字符串参数解析成代码并运行,并将执行的结果作为 eval()
的执行结果进行返回。
11.JavaScript 中的定时器有哪些?它们的区别以及用法是什么
JS 中的定时器有两种:setInterval(function, ms)和
setTimeout(function, ms), setInterval()是每隔多少毫秒执行一次 function
函数,setTimeout()是延迟多少毫秒后执行 function 函数。它们都返回一个
id,通过 clearInterval(id)函数来取消 Interval 定时器, clearTimeout()函数取
消 Timeout 定时器;
12.jQuery 有哪些核心模块
核心模块有: jQuery()函数对象、Selector 选择器、DOM(文档)操作、
CSS(样式)操作、事件处理、Ajax、动画效果等。
13.关系型数据库与非关系型数据库的区别
关系型数据库主要由二维关系表组成的,包含视图、索引、函数、存储过
程以及权限等,使用标准的 SQL 语句及相应引擎语法,目前常用的数据库引擎
包括 MySQL、SQL Server、Oracle、DB2 等。
而非关系型数据库(简称:NoSQL)主要以 Key-Value 或文档结构组成,
以高速读取、缓存为特点,而且不支持 SQL 语句,目前常用的 NoSQL 有
Redis、MongoDB 和 Hbase。
14.数据库事务的四个特性及含义
数据库事务 transanction 的四个特性(ACID):
原子性(Atomicity): 整个事务中的所有操作,要么全部完成,要么全部不
完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚
(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
一致性(Correspondence) : 在事务开始之前和事务结束以后,数据库的
完整性约束没有被破坏。
隔离性(Isolation): 隔离状态执行事务,使它们好像是系统在给定时间
内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行 相同的功
能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种
属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请
求,使得在同一时间仅有一个请求用于同一数据。
持久性(Durability): 在事务完成以后,该事务所对数据库所作的更改便持
久的保存在数据库之中,并不会被回滚。
15.数据库索引的工作原理及种类
数据库索引本质上是一个用来协助数据库快速查询更新数据的排序的数据
结构,一般情况下均采用 B 树及其变种 B+树来实现。
数据库的索引从不同的维度上我们可以将其划分为聚簇索引、非聚簇索引
或者唯一索引、覆盖索引。
16.常见数据库的引擎以及应用场景
mysql 常见的存储引擎有 InnoDB、MyISAM 和 MEMORY。
InnoDB 是事务型数据库的首选引擎,支持事务安全表,支持行锁定和外
键。主要应用于需要提供提交、回滚、崩溃恢复能力的事务安全能力,并要求
实现并发控制的场景。
MyISAM 基于 ISAM 存储引擎,并对其进行扩展。它是在 Web、数据仓
储和其他应用环境下最常使用的存储引擎之一。MyISAM 拥有较高的插入、
查询速度,但不支持事务。如果数据表主要用来插入和查询记录,则
MyISAM 引擎能提供较高的处理效率。
MEMORY 存储引擎将表中的数据存储到内存中,未查询和引用其他表数
据提供快速访问。只是临时存放数据,数据量不大,并且不需要较高的数据
安全性,对于这种场景 MEMORY 引擎是一个不错的选择。
17.环境变量的作用?Linux 环境变量的种类
环境变量是设置给系统或者用户的应用程序的一些变量,其具体的作用和
具体的环境变量相关。比如 PATH 变量就是告诉系统当系统运行一个程序而
没有完整路径时将在那些目录下寻找程序。环境变量主要分为系统环境变量
和用户环境变量。
18.如何理解 Linux 中的软硬链接
linux 中的硬链接直接指向文件的 inode,而删除硬链接仅仅删除链接本身,
不会影响文件本身。与之相对的软连接则是在链接文件的数据中存储目标文件
的路径。使用 ln -s 创建软连接,不带-s 选项表示创建硬连接。
19.简要介绍一下 Linux 的启动流程
linux 系统启动流程可以简单总结为以下几步:
1)开机 BIOS 自检,加载硬盘。
2)读取 MBR,进行 MBR 引导。
3)加载 grub 引导菜单(Boot Loader)。
4)加载 Linux 内核(kernel)。
5)启动 init 进程,依据 inittab 文件设定运行级别。
6)init 进程,执行 rc.sysinit 文件。
7)启动内核模块,执行不同级别的脚本程序。
8)执行/etc/rc.d/rc.local。
9)启动 mingetty,进入系统登陆界面。
20.日志的作用?如何查看 Linux 启动日志
日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生
的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者
留下的痕迹。在 linux 中的启动日志一般存在/var/log/boot.log 或者
message.log 中,所以我们可以通过 tail /var/log/boot.log|message.log 来
查看最新的日志记录。注意:因为日志文件可能比较大,慎用 cat 查看。
21.Linux 系统运行状态有哪些,如何切换
Linux 系统有 7 个运行状态即运行级别:0-系统停机状态、1-单用户工作
状态、2-多用户状态、3-完全的多用户状态、4-系统未用(保留),5-X11 控制
台模式、6-系统正常关闭并重启。
修改运行状态可以通过修改 inittab 文件中的 initdefault 选项为制定的 id
达到修改目的。
需要注意的是:
1、系统默认运行级别不能设为 0 和 6,否则不能正常启动。
2、单用户工作状态,root 权限,用于系统维护,禁止远程登陆。
3、X11 控制台,登陆后进入图形 GUI 模式。
22.shell 是什么,有什么作用
Shell 字面理解就是个“壳”,是操作系统(内核)与用户之间的桥梁,
充当命令解释器的作用,将用户输入的命令翻译给系统执行。Linux 中的
shell 与 Windows 下的 DOS 一样,提供一些内建命令(shell 命令)供用户
使用,可以用这些命令编写 shell 脚本来完成复杂重复性的工作。
23.简述 Linux 中文件权限的设计
在 Linux 中,文件权限由三部分组成,每一部分由 rwx 三个字母组成。r
表示只读, w 表示只写, x 表示可执行,如果不具有某一权限,可以用
“-”表示。如读写权限的写法: rw-。权限的第一部分表示用户的权限,
第二部分表示组中其它用户权限,第三部分表示其他用户的权限。另外,每
一部分的权限也可以用数字累加表示,rwx 对应 421, 即具有 rw 权限,则表
示 6,在 Linux 中可以用 chmod 命令来修改文件权限, 如设置当前用户拥有
/opt/h.py 文件的读写和执行权限: sudo chmod 700 /opt/h.py
24.什么是闭包,有什么特性,简要介绍你理解的闭包
闭包是指有权访问另一个函数作用域中的变量的函数(即当函数被调用时
会创建一个执行函数和相应的作用域链。作用域链本质上是指向变量对象的指
针列表,只引用,不实际包含变量对象)。作用域链中,函数内部变量对象优
先级最高,然后,由最近的外部函数依次向后排。
闭包具有封闭性和持久性,封闭性:外界无法访问闭包内部的数据,如果
在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,
在外部函数被调用之后,闭包结构依然存在。
缺点:由于闭包携带包含其它函数的作用域,因此比其他函数占用的内存
更多。
优点:减少创建全局变量 ; 减少传递给函数的参数量;
闭包可以读取函数内部的局部变量,这些变量的值始终保存;在内存中函
数执行后,函数执行环境的作用域会被销毁,但是活动对象不会销毁,只有将
匿名函数销毁后才可以销毁活动对象。可以将保存函数的变量赋值为 null,将
可销毁匿名函数作用域。
常见创建闭包方法:在一个函数内部创建另一个函数。
思考下面问题: - git 的常用命令, git 提交项目的流程, git 如何解决冲突, 谈谈你是如
何使用 git 分支的 - 前端获取后端数据有哪些方式
- 请谈谈你对 Http 协议的理解
- 数据库优化的思路
- 写一条 SQL 语句查找 Person 表中 age 第二大的人
网友评论