Web前端最新web前端 第一阶段面试题(1),阿里大牛整理

算法刷题

大厂面试还是很注重算法题的,尤其是字节跳动,算法是问的比较多的,关于算法,推荐《LeetCode》和《算法的乐趣》,这两本我也有电子版,字节跳动、阿里、美团等大厂面试题(含答案+解析)、学习笔记、Xmind思维导图均可以分享给大家学习。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

写在最后

最后,对所以做Java的朋友提几点建议,也是我的个人心得:

  1. 疯狂编程

  2. 学习效果可视化

  3. 写博客

  4. 阅读优秀代码

  5. 心态调整

客户端连接数据库使用UTF8编码

服务器端创建数据库使用UTF8编码

4.Float和Double的区别是什么?

答案:

FLOAT(单精度浮点数)类型 数据可以存储至多8位十进制数,并在内存中占4字节。

DOUBLE(双精度浮点数)类型 数据可以存储至多18位十进制数,并在内存中占8字节。

5. 把数据id等于1的名字oldboy更改为oldgirl?

答案:

update test set name=‘oldgirl’ where id=1;

6.如何登录mysql数据?

答案:

mysql -uroot。

二、JS基础


1. continue和 break有什么区别?

答案:

break和continue都是用来控制循环结构的:

break终止循环,跳出循环体执行循环后面的语句。

continue跳过本次循环,执行下一次循环。

2. i++和++i的区别?

答案:

i++ :先用i值后加1,

++i :先加1后用i值,

计算:var n=5; 求 var num=n++ + ++n + n++ + ++n+n;  //37

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

答案:

原始类型:数值型/字符串型/布尔型/undefined/null

引用类型:对象

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

答案:立即执行的函数。 (function(){ //函数体 })();

用于创建一个局部作用域。

5. slice和splice有什么区别?

答案:

slice截取子数组 ,从指定的数组中,截取几个连续的元素组成一个新数组

splice允许从指定数组中,删除一部分元素,同时再添加另一部分元素

6. typeof返回的类型有哪些?

答案:

number、string 、boolean 、undefined 、object 、function

ex:

var arr=[1,2,3,4,5];

console.log(typeof(arr)); //object

function myDemo(){

return function test(){};

}

console.log(typeof(myDemo())); //function

7. 取 1~11之间的随机数 (即包括1不包括11)?

答案:

Math.floor(Math.random()*10+1)

parseInt (Math.random()*10+1)

8. 什么是变量声明提前?

答案:

使用var关键字声明的变量,会将声明提升到所在作用域的最前边。。

9. push、pop、shift和unshift 区别?

答案:

这两组同为对数组的操作,并且会改变数组的本身的长度及内容。

不同的是push()、pop() 是从数组的尾部进行增减,unshift()、shift() 是从数组的头部进行增减。。

10. 例举4种强制类型转换和3种隐式类型转换?

答案:

强制转换:parseInt/parseFloat/Number/toString

隐式转换:

字符串+数值   数值转字符串

数值+布尔型   布尔型中true转为1,false转为0

字符串+布尔型  布尔型转为字符串。

11. 函数声明与函数表达式的区别?

答案:

相同点:两者都可以创建函数。

不同点:函数声明可以存在函数提升(前),函数表达式不存在函数提升(前)。

//函数声明

function myFunction(){

function innerFunction() {}

}

//以下为函数表达式

var myFunc = function(){};

myFunc(function(){

return function(){};

} );

12. 请指出JavaScript宿主对象和原生对象的区别?

答案:

宿主对象:指JavaScript解释器提供的对象,由解释器厂家自定义并提供实现,不同的解释器提供的扩展对象存在较大的差异(DOM和BOM对象)。

原生对象:JavaScript语言本身预定义的对象,在ECMAScript标准中定义,由所有的解释器厂家来提供具体实现(Array,Date,Math,Number,String,Boolean等)。

13. js中有哪些内置函数?

**答案:**Object,Array, Boolean, Number, String, Function, Date, Math, RegExp, Error, Global

14.列举出获取日期相关函数

答案:

console.log(Date.now());  // 返回当前日期和时间’1970/01/01 00:00:00’之间的毫秒值

var dt = newDate();  // 获取当前时间—年 月 日 时 分 秒

console.log(dt.getTime());  //返回当前日期和时间’1970/01/01 00:00:00’之间的毫秒值

console.log(dt.getFullYear()); // 年份

console.log(dt.getMonth()+1); // 月份(0-11)

console.log(dt.getDate()); // 日期(0/1-31)

console.log(dt.getDay()); //星期(0-6)

console.log(dt.getHours()); // 小时(0-23)

console.log(dt.getMinutes()); // 分钟(0-59)

console.log(dt.getMilliseconds); // 返回毫秒(0-999)

console.log(dt.getSeconds()); // 秒(0-59)

15.Math相关函数

**答案:**

Math.random()- 返回 0 ~ 1 之间的随机数

Math.abs(x) -``返回数的绝对值

Math.ceil(x)- 向上取整

Math.floor(x)- 向下取整

Math.round() 四舍五入

Math.max() 和 Max.min() 获取一组数据中的最大值和最小值

Math.PI  获取圆周率π 的值Math.pow() 获取一个值的多少次幂

Math.sqrt() 对数值开方

Math.pow(10,2) = 100;

Math.sqrt(100) = 10;

16.null和undefined的区别?

答案:

undefined是访问一个未初始化的变量时返回的值,

null是访问一个尚不存在的对象时所返回的值。因此,可以把undefined看作是空的变量,而null看作是空的对象。

17.=有什么不同?

答案:

== 抽象相等,比较时,会先进行类型转换,然后再比较值;

===严格相等,判断两个值相等同时数据类型也得相同。

18.setTimeout和setInterval的区别是什么?

答案:

二者都是用来设置定时操作的。

setTimeout: 设置一个定时器,在定时器到期后执行一次函数或代码段

setInterval: 设置一个定时器,以固定的时间间隔重复调用一个函数或者代码段

19. 请说出以下代码执行结果

for (var i = 0; i < 3; i++) {

setTimeout(function() {

console.log(i);

}, 0);

console.log(i);

}

**答案:**0 1 23 3 3,执行过程如下

var i = 0;

console.log(i); i++;

console.log(i); i++;

console.log(i);i++;

setTimeout(function() {

console.log(i);

}, 0);

setTimeout(function() {

console.log(i);

}, 0);

setTimeout(function() {

console.log(i);

}, 0); //输出 0 1 2 3 3 3

20. 请说出(true+flase)>2+true的执行结果

答案:false

21. 当前代码块输出结果是什么?

var z=10;

function foo(){console.log(z);}

(function(funArg){var z=20;funArg();})(foo);

答案:10,自调用函数。

22. setTimeout(function(){},10)表示什么意思?

答案:每隔10毫秒调用一次函数。

23. 程序中捕获异常的方法?

答案

try{

}catch(e){

}finally{

}

24. 以下代码执行结果?

var uname = ‘jack’

function change() {

alert(uname) // ?

var uname = ‘lily’

alert(uname) //?

}

change()

答案:undefined lily

25. 如何使用npm下载express模块?

答案:npm install express

26. split和join的区别?

答案:split()将字符串按照指定的字符分割成一个数组,并返回

join()将数组用指定的字符连接成一个字符串,并返回

27. 看下列代码会有什么样的输出?

var foo =“11”+2-“1”;

console.log(foo);

console.log(typeof foo);

答案:111  number

**28. foo = foo||bar ,这行代码是什么意思?**为什么要这样写?

答案:这种写法称之为短路表达式

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

html5

  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值