《面试题一》

本文详细解答了面试中常见的MySQL、JavaScript基础和NodeJS的相关问题,包括MySQL的字符串类型区别、浏览器加载页面的过程、JS的循环控制、数据类型、自调用函数等核心概念,以及NodeJS的同步异步操作、模块系统和优缺点分析。
摘要由CSDN通过智能技术生成

一、MySQL

1. MySQLvarcharchar的区别以及varchar(50)中的50代表的涵义?

答案:
Varchar是变长字符串,最多存储的大小是65535,查询速度相对较慢;
Char 是定常字符串,最多存储的大小是255,查询速度相对较快

2. 简述浏览器打开www.baidu.com显示页面,中间都经过哪些过程?

答案:
DNS服务器获取域名对应的IP地址并返回浏览器,通过IP地址web服务器发请求,web服务器从文件服务器获取网页中所需要的文件,从数据库服务器获取网页中所需要的数据,最后将完整的网页相应给浏览器。

3. 如何解决MySQL中存储中文乱码问题?

答案:
脚本文件采用UTF8编码
客户端连接数据库使用UTF8编码
服务器端创建数据库使用UTF8编码

二、JS基础

1.continuebreak有什么区别?

答案:
breakcontinue都是用来控制循环结构的。

  • 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,赋值给jj1
++i 理解为:先加1后用i值,比如int j=++i;如果i的初值是1,首先i增加12,然后用i的值2最为++i整体表达式的值,最后进行赋值运算,将++i表达式的值2赋值给jj2

注意:这两个表达式在计算时,=号赋值计算,都是最后发生的,是非常常见的考点。

3. JavaScript都有哪些数据类型?

答案:
原始类型:数值型/字符串型/布尔型/未定义型/null 引用类型:对象

4. 自调用函数是什么?用于什么地方?

答案:
(function(){ })(); 创建一个局部作用域。
5. slicesplice有什么区别?
答案:
slice是截取字符串,splice是切割字符串。
6. typeof返回的类型有哪些?
答案:

Number string boolean undefined object。

7. 取10-100之间的一个随机数?
答案:

Math.ceil(Math.random()*90+10)

8. 解释变量声明提升?
答案:
使用var关键字声明的变量,会将声明提升到所在作用域的最前边。。
9. pushpopshiftunshift 区别?
答案:
这两组同为对数组的操作,并且会改变数组的本身的长度及内容。
不同的是 push()pop() 是从数组的尾部进行增减,unshift()shift() 是从数组的头部进行增减。

10. 例举4种强制类型转换和3种隐式类型转换?
答案:
强制转换:parseInt/parseFloat/Number/toString
隐式转换:
字符串+数值 数值转字符串
数值+布尔型 布尔型中true转为1false转为0
字符串+布尔型 布尔型转为字符串。

11. 函数声明与函数表达式的区别?
答案:
相同点:两者都可以创建函数
不同点:函数声明可以存在函数提升,函数表达式不存在函数提升

12. 请指出JavaScript宿主对象和原生对象的区别?
答案:
宿主对象:指JavaScript解释器提供的对象,由解释器厂家自定义并提供实现,故不同的解释器提供的扩展对象存在较大的差异
原生对象:JavaScript语言本身预定义的对象,在ECMAScript标准中定义,由所有的解释器厂家来提供具体实现

三、NODEJS

1. 同步和异步有何区别?
答案:
同步:在主程序中执行,会阻止后续代码的执行,通过返回值获取结果
异步:在一个独立的线程执行,不会阻止主程序后续代码的执行,通过回调函数获取结果。

2. NodeJS中有哪些类型模块,文件操作用哪一个模块?
答案:
模块类型: 核心模块、自定义模块、自定义模块
文件操作:fs模块

3. 对NodeJS的优点和缺点提出自己的看法?
答案:
为Node是基于事件驱动和无阻塞的,所以非常适合处理并发请求,因此构建在NodeJS的优点和缺点Node上的代理服务器相比其他技术实现的服务器表现要好得多。此外,与Node服务器交互的客户端代码是由javascript语言编写的,因此客户端和服务器端都用同一种语言编写。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供具体的2024年前端面试题一百道,因为面试题的内容和形式可能会因公司、职位和行业而异。不过,我可以提供一些通用的前端面试题,以帮助您准备面试。 1. 请简述前端开发的主要技术栈包括哪些? 2. 请描述一下什么是HTML、CSS和JavaScript? 3. 请解释一下什么是响应式设计?如何在前端开发中实现响应式设计? 4. 请简述一下什么是前端框架,并列举几个常用的前端框架。 5. 请解释一下什么是Vue.js,并简述其核心概念和用法。 6. 请解释一下什么是React.js,并简述其核心概念和用法。 7. 请简述一下什么是Webpack,并解释其作用和用法。 8. 请解释一下什么是ES6,并列举一些ES6的新特性。 9. 请简述一下什么是前端性能优化,并列举一些优化技巧。 10. 请解释一下什么是HTTP/2,并简述其优点和缺点。 除了以上问题,您还可以准备一些更具体的问题,例如: 1. 请解释一下如何使用CSS选择器选择元素? 2. 请解释一下如何使用JavaScript操作DOM? 3. 请描述一下如何使用Vue.js实现一个简单的计数器组件。 4. 请解释一下如何使用React.js实现一个简单的表单组件。 5. 请描述一下如何使用Webpack进行代码拆分和优化。 6. 请解释一下什么是跨域问题,并简述如何解决跨域问题。 7. 请描述一下如何使用JavaScript进行异步编程,例如使用Promise和async/await。 8. 请解释一下什么是前端安全,并列举一些常见的安全问题及其解决方法。 希望以上信息对您有所帮助,祝面试成功!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值