2024年最全掌阅前端面试总结_掌阅有几轮面试(1),前端校招面试经验汇总

总结

为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

前端面试题汇总

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

JavaScript

性能

linux

哇咔咔,虽然写过的JS代码不多,好像会耶这道题,我想了一下可以用一个对象来记录,对象的属性就是字符,属性值是其次数。咔咔开写:

function countMaxTimes(str){
        var oCount={};
        var len=str.length;
        //统计每个字符出现次数
        while(len--){
            var char=str.charAt(len);
            if(oCount[char]){
                oCount[char]=oCount[char]+1;
            }else{
                oCount[char]=1;
            }
        }

        //获取出现次数最多的字符
        var maxChar='',maxTimes=0;
        for (eachChar in oCount){
            if(oCount[eachChar]> maxTimes){
                maxChar=eachChar;
                maxTimes=oCount[eachChar];
            }
        }
        return{
            char:maxChar,
            times:maxTimes
        }
    }

因为对JS还用得不是很多,中间想不起怎么遍历对象中的属性了,还卡了好一会儿,后来总算想起for in可以做到啊皇上!
那么补充一下for in的知识:

for(varable in obj或array)
可以遍历对象属性或数组元素
其中,varable是对象的属性名或者数组元素的下标,是下标哦,不是数组元素本身

这道题虽然很基础,但是发现利用对象属性的方式来记录信息真的好好用,之前面试也遇到过。另外这也是我第一次使用obj[varable]的方式来访问属性,这样属性名和属性值一一对应可以记录相对应的两个数据了,这种方式不要太好用哦!
其实数组也是可以这样用的。
2.说说this的三个应用场景
3.JS都有哪些数据类型,分别返回false的时候是什么值。
4.用jQuery实现一个tab选项卡,摔啊,jQuery API还没过完,当时我就懵逼了,不过自己也写了点。
选项卡结构是酱紫的:

<ul id="tab">
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
</ul>
<p>A</p>
<p>B</p>
<p>C</p>
<p>D</p>

当时不会,但是下来一定要把它给整明白了,自己查了下jQuery的API把它给实现啊哈哈哈:

$(document).ready(function(){
    var tabTitles=$('#tab li');
    var tabConts=$('#tab~p'); //选项卡内容

    tabTitles.on('click',function(){
        tabConts.css('display','none');
        var index=$.inArray(this,tabTitles);
        tabConts.eq(index).css('display','block');
    });
});

这里主要用到了$.inArray(value,array)这个方法获取数组中元素的索引值。
好像还有道题吧,尊的不记得了。。。

总结:

  • 函数式编程其实是一种编程思想,它追求更细的粒度,将应用拆分成一组组极小的单元函数,组合调用操作数据流;

  • 它提倡着 纯函数 / 函数复合 / 数据不可变, 谨慎对待函数内的 状态共享 / 依赖外部 / 副作用;

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

Tips:

其实我们很难也不需要在面试过程中去完美地阐述出整套思想,这里也只是浅尝辄止,一些个人理解而已。博主也是初级小菜鸟,停留在表面而已,只求对大家能有所帮助,轻喷🤣;

我个人觉得: 这些编程范式之间,其实并不矛盾,各有各的 优劣势

理解和学习它们的理念与优势,合理地 设计融合,将优秀的软件编程思想用于提升我们应用;

所有设计思想,最终的目标一定是使我们的应用更加 解耦颗粒化、易拓展、易测试、高复用,开发更为高效和安全

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值