华雁智科前端面试题

embedded/2024/9/19 11:49:05/ 标签: javascript, 开发语言, ecmascript

1. var 变量的提升

题目:

javascript">var a = 1
function fun() {console.log(b)var b = 2
}
fun()
console.log(a)
  • 正确输出结果:undefined、1
  • 答错了,给一个大嘴巴子,错误答案输出结果为:2,1

此题主要考察 var 定义的变量,作用域提升的问题,相当于

javascript">var a 
a = 1
function fun() {var bconsole.log(b)b = 2
}
fun()
console.log(a)

所以正确输出结果应该是:undefined、1

2. 多维数组去重排序(升序)

javascript">let arr = [3, 1, 4, 1, 5, 9, [4, 1, 5, 9], 2, 6, 5, 3, 5, [3, 1, 4, 1]]
  • 忘记去重操作,该死。
  • 方法比较笨,欢迎各位前端大佬,使用更高效的方法尝试。

第一步,采用递归方式将该数组展平为一维数组

javascript">let newArr = []
function fun(arr) {for (let i = 0; i < arr.length; i++) {if (arr[i] instanceof Array) {fun(arr[i])} else {newArr.push(arr[i])}}return newArr
}newArr = fun(arr)

第二步,数组去重,使用一个变量记录 flag 记录是否是重复的元素

javascript">let arr2 = []
function uniqueArr(arr) {for (let i = 0; i < arr.length; i++) {let flag = false for (let j = 0; j < arr2.length; j++) {if (arr[i] === arr[j]) {flag = truebreak}}// 唯一的元素if (!flag) {arr2.push(arr[i])}} return arr2
}const a = uniqueArr(newArr)

第三步,排序算法

javascript"> function sort (arr) {for (let i = 0; i < arr.length; i++) {for (let j = 0; j < arr.length; j++) {if (arr[j] > arr[j + 1]) {let temp = arr[j]arr[j] = arr[j + 1]arr[j + 1] = temp}}}return arr}
  • 正确冒泡排序(该死)
javascript"> function sort (arr) {for (let i = 0; i < arr.length - 1; i++) {for (let j = 0; j < arr.length - 1 - i; j++) {if (arr[j] > arr[j + 1]) {let temp = arr[j]arr[j] = arr[j + 1]arr[j + 1] = temp}}}return arr}

3. 写在最后

此博客记录,秋招第一次很简单的手撕代码笔试题。哭死,希望能给个面试机会。一定能找到工作的。加油,多积累面试经验,借用人民日报今年的广告语,“请你努力,为了你自己。

祝大家秋招都能收到offer。

 


http://www.ppmy.cn/embedded/113787.html

相关文章

什么是多模态大模型?

多模态大模型&#xff08;Multimodal Large Model&#xff09;是指能够处理和理解多种类型数据的人工智能模型&#xff0c;通常包含文本、图像、音频、视频等不同模态的数据。传统的人工智能模型通常只处理单一模态的数据&#xff0c;比如只处理文本或只处理图像&#xff0c;而…

mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(18)

1、SQL 删除数据&#xff08;DELETE 语句&#xff09; 在编写SQL中的DELETE语句时&#xff0c;需要非常小心&#xff0c;因为一旦执行&#xff0c;被删除的数据就无法恢复了&#xff08;除非你有备份&#xff09;。DELETE语句用于从数据库表中移除一条或多条记录。这里&#x…

栈的应用之表达式求值(前缀、中缀、后缀)

目录 引入 1.中缀表达式的求值(两种方式) 方式一:使用两个栈直接求值 方式二:将其转换为后缀表达式求值 ①转换: ②对后缀表达式求值: 2.后缀表达式的求值(1个栈,存放运算符) 3.前缀表达式的求值(1个栈用来存放数字,相对来讲没那么重要) 引入 1.中缀表达式的…

记录一个torch的编写模板

import numpy as np import torch import pandas as pd from torch.utils.data import Dataset,DataLoader import torch.nn as nn import torch.optim as optim # 设置 Pandas 选项以显示所有列 pd.set_option(display.max_columns, None) # 设置tonser展示所有 torch.set_pri…

Java数据结构应用(力扣题20. 有效的括号)

给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

4.qml单例模式

这里写目录标题 js文件单例模式qml文件单例模式 js文件单例模式 直接添加一个js文件到qml中 修改内容 TestA.qml import QtQuick 2.0 import QtQuick.Controls 2.12 import "./MyWork.js" as MWItem {Row{TextField {onEditingFinished: {MW.setA(text)}}Button…

力扣122.-买卖股票的最佳时机 II(Java详细题解)

题目链接&#xff1a;122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 前情提要&#xff1a; 本题是由121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09;变形而来&#xff0c;121是只能买卖一次股票&#xff0c;该题是可以买卖多次股票&a…

【基于Spring Boot的汽车租赁系统】

基于Spring Boot的汽车租赁系统是一个综合性的应用&#xff0c;它可以为用户提供租车服务&#xff0c;包括车辆查询、预订、支付等功能。下面是一个简单的汽车租赁系统的架构和技术栈概述&#xff0c;以及如何开始搭建这样一个系统的基本步骤。 技术栈 后端技术&#xff1a; S…

Apache SeaTunnel Zeta引擎源码解析(三) Server端接收任务的执行流程

作者&#xff1a;刘乃杰 编辑整理&#xff1a;曾辉 引入 本系列文章是基于 Apache SeaTunnel 2.3.6版本&#xff0c;围绕Zeta引擎给大家介绍其任务是如何从提交到运行的全流程&#xff0c;希望通过这篇文档&#xff0c;对刚刚上手SeaTunnel的朋友提供一些帮助。 我们整体的文…

微信小程序实现转盘抽奖,可以自定义编辑奖项列表

这个功能可以分几步实现&#xff1a; 1. 界面设计: 转盘区域: 使用 canvas 绘制转盘&#xff0c;可配置扇形数量、颜色、文字等。 按钮: "开始/停止" 按钮控制转盘转动。 编辑按钮: 点击弹出弹窗&#xff0c;编辑转盘项目。 中奖弹窗: 显示中奖结果。 2. 数据结构:…

C++简介

1.C发展历史 C的起源可以追溯到1979年&#xff0c;当时Bjarne Stroustrup(本贾尼斯特劳斯特卢普&#xff0c;这个翻译的名字不同的地方可能有差异)在贝尔实验室从事计算机科学和软件工程的研究工作。面对项目中复杂的软件开发任务&#xff0c;特别是模拟和操作系统的开发工作&a…

PDF标准详解(五)——图形状态

在第三节中&#xff0c;我们说到Q/q 这一对操作符是用来保存和还原图形状态的&#xff0c;那个时候只有一个简单的概念&#xff0c;变换矩阵是图形状态的一员&#xff0c;那么什么是图形状态&#xff0c;以及有哪些图形状态呢&#xff1f;本节将要描述这部分的内容 图形状态 …

Java 读取特定目录下子文件夹的 json格式文件并解析

一、需求   有一个目录结构&#xff0c;包含多个子文件夹&#xff0c;每个子文件夹中都有一个名为goods.txt的文件&#xff0c;文件内容以 JSON 格式存储。现在需要将所有的goods.txt文件内容读取出来&#xff0c;放在一个List集合中&#xff0c;以便进行后续的处理。 二、使…

大数据-134 - ClickHouse 集群三节点 安装配置启动

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

医学数据分析实训 项目二 数据预处理作业

文章目录 项目二 数据预处理一、实践目的二、实践平台三、实践内容任务一&#xff1a;合并数据集任务二&#xff1a;独热编码任务三&#xff1a;数据预处理任务四&#xff1a;针对“项目一 医学数据采集”中“3. 通过 UCI 机器学习库下载数据集”任务所下载的数据集进行预处理。…

硬件(驱动开发概念)

驱动程序开发 裸机驱动&#xff08;无操作系统&#xff09; Linux驱动 以计算机技术为基础&#xff0c;在软件和硬件层间可以被剪裁的专业硬件计算机系统 SOC&#xff1a;片上系统 Kernel&#xff1a;内核 x86 &#xff08;CISC:complex instruction set computer 复杂指令…

MySQL:两阶段提交

redo log&#xff08;重做日志&#xff09;让 InnoDB 存储引擎拥有了崩溃恢复能力。 binlog&#xff08;归档日志&#xff09;保证了 MySQL 集群架构的数据一致性。 虽然它们都属于持久化的保证&#xff0c;但是侧重点不同。 在执行更新语句过程&#xff0c;会记录 redo log…

使用three.js+vue3完成无人机上下运动

效果图如上 代码&#xff1a; <template><div class"drones"><div ref"dronesContainer" class"drones-container"></div></div></template><script setup>import { ref, onMounted, onUnmounted, …

海鲜市场|基于springboot的网络海鲜市场系设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书&#xff08;可指定任意题目&#xff09; 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 计算机网络发展到现在已经好几十年了&#xff0c;在理论上面已…

k8s pod网络故障注入,命令行实现

工具介绍 crictl工具&#xff1a;用于查询k8s pod和容器信息nsenter工具&#xff1a;用于进入容器的网络命名空间tc工具&#xff1a;注入网络故障 实现k8s pod级别网络故障 首先查找故障注入的pod的宿主机&#xff0c;并ssh登陆进去 kubectl get pod -n <namespace> …