一、MySQL
1. MySQL
中varchar
与char
的区别以及varchar(50)
中的50代表的涵义?
答案:
Varchar
是变长字符串,最多存储的大小是65535
,查询速度相对较慢;
Char
是定常字符串,最多存储的大小是255
,查询速度相对较快
2. 简述浏览器打开www.baidu.com
显示页面,中间都经过哪些过程?
答案:
向DNS
服务器获取域名对应的IP地址
并返回浏览器,通过IP地址
向web服务器
发请求,web服务器
从文件服务器获取网页中所需要的文件,从数据库服务器获取网页中所需要的数据,最后将完整的网页相应给浏览器。
3. 如何解决MySQL
中存储中文乱码问题?
答案:
脚本文件采用UTF8编码
客户端连接数据库使用UTF8编码
服务器端创建数据库使用UTF8编码
二、JS基础
1.continue
和 break
有什么区别?
答案:
break
和continue
都是用来控制循环结构的。
- 1.
break:
提前终止循环可以使用break
来完成。break
完全结束一个循环,跳出循环体执行循环后面的语句。* - 2.
continue:
理解为continue
是跳过当次循环中剩下的语句,执行下一次循环。 - 3.区别:
continue
只终止本次循环,break
则完全终止循环*
2. i++
和++i
的区别?
答案:
*i++
理解为:先用i
值后加1
, 比如int j=i++;
如果i
的初值是1
,那么表达式i++
的整体值就是1
,然后,i
的值就变成了2
,最后执行赋值运算,将i++
整体的值1
,赋值给j
,j
为1
。
++i
理解为:先加1
后用i
值,比如int j=++i;
如果i的初值是1
,首先i
增加1
为2
,然后用i的值2
最为++i
整体表达式的值,最后进行赋值运算,将++i
表达式的值2
赋值给j
,j
为2
。
注意:这两个表达式在计算时,=号赋值计算,都是最后发生的,是非常常见的考点。
3. JavaScript都有哪些数据类型?
答案:
原始类型:数值型
/字符串型
/布尔型
/未定义型
/null
引用类型:对象
4. 自调用函数是什么?用于什么地方?
答案:
(function(){ })();
创建一个局部作用域。
5. slice
和splice
有什么区别?
答案:
slice
是截取字符串,splice
是切割字符串。
6. typeof返回的类型有哪些?
答案:
Number string boolean undefined object。
7. 取10-100之间的一个随机数?
答案:
Math.ceil(Math.random()*90+10)
8. 解释变量声明提升?
答案:
使用var
关键字声明的变量,会将声明提升到所在作用域的最前边。。
9. push
、pop
、shift
和unshift
区别?
答案:
这两组同为对数组的操作,并且会改变数组的本身的长度及内容。
不同的是 push()
、pop()
是从数组的尾部进行增减,unshift()
、shift()
是从数组的头部进行增减。
10. 例举4种强制类型转换和3种隐式类型转换?
答案:
强制转换:parseInt
/parseFloat
/Number
/toString
隐式转换:
字符串+数值 数值转字符串
数值+布尔型 布尔型中true
转为1
,false
转为0
字符串+布尔型 布尔型转为字符串。
11. 函数声明与函数表达式的区别?
答案:
相同点:两者都可以创建函数
。
不同点:函数声明可以存在函数提升
,函数表达式不存在函数提升
。
12. 请指出JavaScript宿主对象和原生对象的区别?
答案:
宿主对象:指JavaScript解释器提供的对象
,由解释器厂家自定义并提供实现
,故不同的解释器提供的扩展对象存在较大的差异
。
原生对象:JavaScript语言本身预定义的对象
,在ECMAScript
标准中定义,由所有的解释器厂家来提供具体实现
。
三、NODEJS
1. 同步和异步有何区别?
答案:
同步:在主程序中执行,会阻止后续代码的执行
,通过返回值获取结果
异步:在一个独立的线程执行,不会阻止主程序后续代码的执行
,通过回调函数获取结果。
2. NodeJS中有哪些类型模块,文件操作用哪一个模块?
答案:
模块类型: 核心模块、自定义模块、自定义模块
。
文件操作:fs模块
3. 对NodeJS的优点和缺点提出自己的看法?
答案:
为Node是基于事件驱动和无阻塞的
,所以非常适合处理并发请求
,因此构建在NodeJS的优点和缺点Node上的代理服务器相比其他技术实现的服务器表现要好得多
。此外,与Node服务器交互的客户端代码是由javascript语言编写的,因此客户端和服务器端都用同一种语言编写。