前端面试题(一)

  1. 用js写出两个数组合并成一个数组并排序返回(输入:[5,2,10] [9,1]  输出:[1,2,5,9,10])
    var arr1=[5,9,8,6];
    var arr2=[1,10,3];
    var arr3=arr1.concat(arr2);
    arr3.sort(
            function(a,b){return a-b;}
    );
    console.log(arr3);
  2. 用递归实现1-100求和

    function num(n) {
        if (n == 1) return 1;

        return num(n - 1) + n;
    }
    let sum = num(100);
    console.log(sum);

  3. 如何进行浏览器性能优化?
    减少HTTP请求,合理设置HTTP缓存、应用浏览器缓存、启用压缩、使用精灵图、图片懒加载、css放在页面上部,js放在页面下部

  4. cookie、localstroge和sessionstroge的区别
    共同点:都是保存在浏览器端,且都是同源的
    区别:
    1).cookie在浏览器和服务器间来回传递
             sessionstroge和localstroge不会自动把数据发送给服务器,仅用于保存在本地
    2).存储大小限制不同
             cookie数据不能超过4k
             sessionstroge和localstroge虽然也有限制 但可以达到5M以上
    3).数据有效期不同
             cookie只在设置的cookie过期之前有效,即使窗口或浏览器关闭
             sessionStroge只在当前浏览器关闭之前有效
             localStroge不管浏览器关闭与否,数据永久保存
    4).作用域不同
             cookie数据在所有同源窗口中都是共享的
            sessionStroge在不同浏览器窗口不共享,即使是同一个页面

  5. 解释一下在js里,0.1+0.2为什么等于0.30000000000000004,如何通过代码解决这个问题
    原因:浮点数精度问题
    解决:将其先转换成整数,相加之后在转回小数
              let x=(0.1*10+0.2*10)/10;
              console.log(x);

  6. CSS水平垂直的写法,至少2种
    1).flex布局
        父级:display:none; justify-content=:center';align-items:'center';
    2).定位+外边距 已知宽高
        position:absolute;left:50%;top:50%;margin-left:-自身一般宽度;margin-top:-自身一般高度;
    3).定位+transform 已知宽高
      #container{position:relative;border:1px solid red; width:800px;height:600px;}     #center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:blue; width:100px;height:100px;}

  7. 动态改变层中内容可以使用的方法有(A B)
    A.innerHTml   
    B.innerText 
    C.通过设置层的隐藏和显示来实现
    D.通过设置层的样式属性的display属性

  8. 在JS中不属于数组方法的是( B)
    A.sort()     B.length()      C.concat()       D.reverse()

  9. 以下代码输出内容是(D)
    setTimeout(function()(
    console.log(1);).0);
    new Promise(function executor(resolve)(
    console.log(2);
    for( var i= 0 ;i<10000;it+){
           i==9999 && resolve();
    }
         console.log(3);
    }).then(function(){
    console.log(4);
    });
    console.log(5);
    A.12345              B.23145                 C.12354                D.23541

  10. 阅读以下代码
    var arr1=[5,9,8,6];
    var arr2=[1,10,3];
    arr1.concat(arr2);
    arr1.sort();
    console.log(arr1.join(','));
    代码运行后,console.log方法打印的内容为(A)
    A. 1,2,12             B.1,12,2                   C.1,2,4,12,23           D.1,12,2,23,4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供具体的2024年前端面试题一百道,因为面试题的内容和形式可能会因公司、职位和行业而异。不过,我可以提供一些通用的前端面试题,以帮助您准备面试。 1. 请简述前端开发的主要技术栈包括哪些? 2. 请描述一下什么是HTML、CSSJavaScript? 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、付费专栏及课程。

余额充值