【牛客网-公司真题-前端入门篇】——小米秋招笔试-前端_小米前端工程师春招笔试多少分能通过

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

在这里插入图片描述

这一题考察的是定位的知识,比较基础
relative 表示相对定位,相对于自己本身所在正常文档流中的位置进行定位。
absolute表示绝对定位,相对于最近一级( 从直接父级元素往上数,直到根元素)定位,相对于static 的父元素进行定位。
fixed用于生成绝对定位,相对于浏览器窗口或frame进行定位。
static是默认值,没有定位,元素出现在正常的文档流中。
sticky是生成黏性定位的元素,容器的位置根据正常文档流计算得出。
因此选D,relative不会脱离文档流

在这里插入图片描述

for循环里的函数没有直接调用,只是把4个一模一样的函数添加到数组里,再通过遍历调用每一个数组元素(函数),因为i=4跳出循环,所以console.log(i)全部打印4
重点在于
1、callbacks里是四个一样的函数,都是输出变量i,而不是数字
2、js中,var i在for循环结束后任然存在(重点)值为4
因此这道题选C

在这里插入图片描述

lastIndexOf是从后往前数
倒数第4个是5(从0开始数)

在这里插入图片描述

a没有disabled这个属性
因此C是错误的

在这里插入图片描述

vue路由只有两种模式:history和hash模式
两者的区别为
hash 模式
hash 模式是一种把前端路由的路径用井号 # 拼接在真实 URL 后面的模式。当井号 # 后面的路径发生变化时,浏览器并不会重新发起请求,而是会触发 hashchange 事件。
history 模式
history API 是 H5 提供的新特性,允许开发者直接更改前端路由,即更新浏览器 URL 地址而不重新发起请求。
因此这道题选BC

在这里插入图片描述

这一题考察的是vue的组件通信
vue的组件通信有8种
●通过 props 传递
●通过 $ emit 触发自定义事件
●使用 ref
●EventBus
●$ parent 或$ root
●attrs 与 listeners
●Provide 与 Inject
●Vuex
因此ABCD都对

在这里插入图片描述

createElement是创建节点
removeChild是移除节点
replaceChild是替换节点
cloneNode是克隆节点
因此这一题选AD

在这里插入图片描述

HTML5的新特性如下。
●拖放(Drag and drop) API.
●语义化更好的内容标签( header、nav、footer、 aside、 article、 section )。
●音频、 视频(audio、video) API。
●画布( Canvas) API。
●地理( Geolocation) API。
●本地离线存储( localStorage),即长期存储数据,浏览器关闭后数据不丢失。
●会话 存储( sessionStorage),即数据在浏览器关闭后自动删除。
●表单控件包括calendar、date、 time、 email、 url、 search
●新的技术包括webworker、websocket、 Geolocation。
Cookie并不是新特性,因此选ABC

在这里插入图片描述

这一题考察的js模块加载方案
js 中现在比较成熟的有四种模块加载方案。
第一种是 CommonJS 方案
第二种是 AMD 方案
第三种是 CMD 方案
第四种方案是 ES6 提出的方案,使用 import 和 export 的形式来导入导出模块。]
因此选ACD

在这里插入图片描述

Redux 可以用这三个基本原则来描述:
单一数据源:
整个应用的 全局 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中。
State 是只读的
唯一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。
使用纯函数来执行修改
为了描述 action 如何改变 state tree,你需要编写纯的 reducers。
因此选ACD

在这里插入图片描述

这一题考察的数组的api方法
sort是排序数组,会改变原有数组
slice:从已有的数组中返回选定的元素(数组单元的截取),并不会改变数组
concat() 方法用于连接两个或多个数组。
concat() 方法不会更改现有数组,而是返回一个新数组,其中包含已连接数组的值。
pop():弹出数组尾部元素
因此选AD

在这里插入图片描述

这一题考察的是数据结构,栈,队列,堆,二叉树是我们必须掌握的数组结构
栈(stack)是一种特殊的线性表,其插入(也称入栈或压栈)和删除(也称出栈或弹栈)操作都在表的同一端进行。两端分别称为栈顶(top)和栈底(bottom)。
栈是一个后进后出表,即为后入先出的表。
因此选AB

在这里插入图片描述

ES6 规范中,microtask 称为 jobs,macrotask 称为 task
宏任务是由宿主发起的,而微任务由JavaScript自身发起。

在这里插入图片描述

window.requestAnimationFrame() 告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画
是浏览器发起的,因此是宏任务

在这里插入图片描述

src的标签的内容是可以跨域的
因为存在异步< script >里面的代码并不是按顺序执行的
对不推迟执行的脚本,浏览器必须解释完位于script元素中的代码,然后才能继续渲染页面 的剩余部分
可以使用 async 属性表示脚本不需要等待其他脚本,同时也不阻塞文档渲染,即异步加载
因此选AD

在这里插入图片描述

力扣原题
方法一:回溯
方法二就是以下代码,回溯改迭代,
每次在之前的数组上加上当前的数

class Solution{
    public List<List<Integer>> subset(int[] nums){
        List<List<Integer>> ans=new ArrayList<>();
        if(nums==null||nums.length==0){
            return ans;
        }
        ans.add(new ArrayList<>());
        for(int i=0;i<n;i++){
            int size=ans.siez();
            for(int j=0;j<size;j++){
                List<Integer> res=new ArrayList<>(ans.get(0));
                res.add(nums[i]);
                ans.add(res);
            }
        }
        return ans;
    }
}

在这里插入图片描述

var multiply = function(num1, num2) {
	if(num1 == 0 || num2 == 0) return "0"
	const res = [];// 结果集
	for(let i = 0; i < num1.length; i++){
		let tmp1 = num1[num1.length - 1 - i]; // num1尾元素
		for(let j = 0; j < num2.length; j++){
			let tmp2 = num2[num2.length - 1 - j]; // num2尾元素
			let pos = res[i + j] ? res[i + j] + tmp1 \* tmp2 : tmp1 \* tmp2;// 目标值 ==》三元表达式,判断结果集索引位置是否有值
			res[i+j] = pos%10; // 赋值给当前索引位置
		// 目标值是否大于10 ==》是否进位 这样简化res去除不必要的"0"
			pos >= 10 && (res[i + j + 1] = res[i + j + 1] ? res[i + j + 1]+Math.floor(pos/10) : Math.floor(pos/10));
		}
	}
	return res.reverse().join("");
};
var line;
while(line = read\_line()){
	let splitLine = line.split(' ');
	print(multiply(splitLine[0],splitLine[1]))
}

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

片转存中…(img-ikfHj3Qk-1715791260479)]
[外链图片转存中…(img-Pc2PMhlt-1715791260479)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2023年3月11日,美团春季招聘笔试中共包含五道编程题目。以下是对每道题目的简要说明: 1. 题目一:这道题目要求解决一个数字统计的问题。可能涉及到的知识点包括数据结构、循环和条件判断等。解决问题的思路可能是使用字典等数据结构来保存统计结果,并使用循环逐个读取输入数据并进行统计。 2. 题目二:这道题目可能是一个字符串处理的问题。需要使用字符串的方法进行操作,如提取、拼接、查找和替换等。可能的解决思路包括使用正则表达式、切片和遍历等。 3. 题目三:这道题目可能涉及到算法和数据结构的知识。可能是一道涉及到数组、链表、树等数据结构的问题。解决思路可能包括遍历、递归、搜索和排序等。 4. 题目四:这道题目可能是一个动态规划的问题。需要根据给定的条件和规则,通过动态规划的方式求解问题。解决思路包括定义状态和转移方程,使用递推或记忆化搜索进行求解。 5. 题目五:这道题目可能是一个图论或网络问题。需要根据给定的图或网络结构,解决一个相关的问题。可能涉及到广度优先搜索、深度优先搜索、最短路径等知识。解决思路可能包括使用图或网络的相关算法进行求解。 以上只是对这五道编程题目的一些可能情况进行的简要描述,具体的题目内容可能会有所不同。希望这些信息能对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值