2021年秋招遇到的前端笔试/面试题
**
本文仅用于记录本人2021年秋招遇到的部分前端笔试/面试题,答案仅供参考
**
1、跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
示例 1:
输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。
示例 2:
输入: [3,2,1,0,4]
输出: false
解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。
//贪心算法
function Jump(nums) {// 首位重合,必定能达到if (nums.length < 2) {return true}//pos记录每个位置(数组每个下标)所能达到的最大位置,即当前索引 + 当前值(此处省略了+0)let pos = nums[0]//遍历剩下的数组,当最大位置大于等于数组长度时,即可以到达最后,//反之若在遍历过程中,目前能到达的最大位置小于当前索引值,说明无法到达当前索引位置,故也不能到达数组尾for (let i = 1; i < nums.length; ++i) {if (pos >= i) {pos = Math.max(pos, i + nums[i])}if(pos < i) return false;if (pos >= nums.length - 1) {return true}}return false
};
2、岛屿数量
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。(如果1 的上下左右都为0,则视为一个岛屿,写出一个函数,计算数组中岛屿的个数。)
示例 1:
输入:
[
[1,1,1,1,0],
[1,1,0,1,0],
[1,1,0,0,0],
[0,0,0,0,0]
]
输出: 1
示例 2:
输入:
[
[1,1,0,0,0],
[1,1,0,0,0],
[0,0,1,0,0],
[0,0,0,1,1]
]
输出: 3
// 时间复杂度:O(MN),其中 M 和 N 分别为行数和列数。
// 空间复杂度:O(MN),在最坏情况下,整个网格均为陆地,深度优先搜索的深度达到 MN。
var numIslands0_1 = function(grid) {let count = 0for(let i = 0; i < grid.length; i++){for(let j = 0; j < grid[0].length; j++){if(grid[i][j] === "1"){grid[i][j] = "0"dfsVisit(i, j)count++}}}function dfsVisit(r, c){let dir = [[0,-1], [0,1], [-1,0], [1,0]] // 上下左右for(let k = 0; k < 4; k++){let row = r + dir[k][0],col = c + dir[k][1];if(row < 0 || row >= grid.length || col < 0 || col >= grid[0].length) continueif(grid[row][col] === "1"){grid[row][col] = "0"dfsVisit(row, col)}else{continue}}}return count
};
3、主流浏览器引擎前缀:
-webkit- :(谷歌,Safari,新版Opera浏览器,以及几乎所有iOS系统中的浏览器(包括 iOS 系统中的火狐浏览器);基本上所有基于WebKit 内核的浏览器)
-moz- :(火狐浏览器)
-o- :(旧版Opera浏览器)
-ms- :(IE浏览器 和 Edge浏览器)
示例:
-webkit-transition: all 4s ease;
-moz-transition: all 4s ease;
-ms-transition: all 4s ease;
-o-transition: all 4s ease;
transition: all 4s ease;
4、parseInt(“8X8”)+parseFloat(“8”)=16
5、Number(null)=0
6、不知为啥
obj={};
obj.log=console.log;
obj.log.call(console,this)//输出为window
7、对递归程序的优化的一般的手段为(A)
A 尾递归优化
B 循环优化
C 堆栈优化
D 停止值优化
8、在位运算中,操作数每右移一位,其结果相当于除以2 ,若左移1位,其结果相当于乘以2
9、找上中位数
给定两个有序数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。上中位数:假设递增序列长度为n,若n为奇数,则上中位数为第n/2+1个数;否则为第n/2个数
输入为:arr1 = [1, 2, 3, 4], arr2 = [3, 4, 5, 6],输出为3
输入为:arr1 = [0, 1, 2], arr2 = [3, 4, 5],输出为2
function solve(arr1,arr2){var arr = arr1.concat(arr2)arr = arr.sort((a,b)=>{return a-b}) // 数组升序arr = dedupe(arr) // 数组去重var len = arr.lengthif(len==1) return arr[0] // 若长度只有一个则为本身else {var index = Math.ceil(len/2) // 无论奇数偶数个,向上取整return arr[index-1]}
}
// 数组去重函数
function dedupe(arr){return Array.from(new Set(arr))
}
10、给定一个数组由一些非负整数组成,现需要将他们进行排列并拼接,使得最后的结果最大,返回值需要是string类型,否则可能会溢出(每个数不可拆分)
var largestNum = function(nums) {return nums.sort((a,b) =>`${b}${a}` - `${a}${b}`).join('').replace(/^0+/,'0')
};
或者:
var largestNumber = function(nums) {return nums.sort((a,b) => ''+b+a > ''+a+b ? 1 : -1).join('').replace(/^0+(?=.)/,'')
}
11、找出 10 22 -6 14的下一个数字(没错,你没看错,这是我面试前端遇到的笔试题,阿巴阿巴阿巴~~)
第一组 :10 , 22 ; 22-10=12 12 /(-2)=-6
第二组 :22 , -6 ; -6-22=-28 -28 /(-2)=14
第三组 :-6 , 14; 14-(-6)= 20 20 /(-2)= -10
所以下一个数为-10
12、写出括号内的数字:10,5,25,35,( ),155 (继续阿巴阿巴阿巴~~)
10 X 2 + 5 = 25
5 X 2 + 25 = 35
故括号内的数字为:25 X 2 + 35 = 85
13、overflow 属性定义内容溢出元素框时会如何处理?
如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制,即必会出现滚动条。
如果值为auto,子元素内容大于父元素时出现滚动条。
如果值为visible,溢出的内容出现在父元素之外。
如果值为hidden,溢出隐藏。
14、新窗口打开网页,用到以下哪个值( _blank )
_self
_blank
_top
_parent
15、flash和js通过什么类进行交互?
ExternalInterface,Flash提供了ExternalInterface接口与JavaScript通信,ExternalInterface有两个方法,call和addCallback:
ExternalInterface.addCallback(“在js里可调用的flash方法名”,flash内方法) ,在flash中通过这个方法公开在js中可调用的flash内的方法;
ExternalInterface.call(“js方法”,传给js的参数) ,在flash里调用js里的方法。
16、在使用点运算符时,浏览器看到“-”就没法正确解析了,在那种情况下,只能将该变量使用驼峰命名法来表示。
//inputElement是一个dom元素
inputElement.style.backgroundColor = 'red'; // 这是没问题的
inputElement.style.background-color = 'red'; // 这是错的,浏览器看不懂啊...
inputElement.style["background-color"] = 'red'; // 这也是可以的
17、HTML5标签的使用:
标签定义声音,比如音乐或其他音频流。
标签定义图形,比如图表和其他图像。 标签只是图形容器,您必须使用脚本来绘制图形。
http://www.taodudu.cc/news/show-5756059.html
相关文章:
- 套在 360 黑匣子外面的黑盒子:你被技术型枪稿吓到了么?
- 如何解决teamviewer检测出商业用途问题,无法继续免费使用
- mysql alter table if exists_MySQL:ALTER TABLE如果列不存在
- 超详细的周杰伦演唱会观看攻略,拿走不谢!
- 定了!北京冬奥会售票群体出炉,门票需要预定吗?
- 移动app之ionic框架css布局
- 利用python分析秀动平台思路
- AppStore app信息url
- JAVA演唱会门票订售及管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
- 计算机毕业设计Java演唱会门票订售及管理系统(源码+系统+mysql数据库+Lw文档)
- 基于JAVA演唱会门票订售及管理系统计算机毕业设计源码+系统+lw文档+部署(2)
- 支付宝海外版(国际版)开发
- Hyperf 引入支付宝app支付遇到的坑
- 微信支付服务商家 微信支付在海外发展
- Springboot 整合 Stripe 国际支付进行收款操作,Stripe 国际支付的支付流程
- 海外支付:遍布全球的Paypal
- Laravel接入paypal支付
- 支付宝支付文档及主要路径
- 【科普】一份 8 岁小朋友都能理解的深度学习入门教程
- 怎么画出好看的神经网络图,神经元怎么画简笔画
- python新手学习记录笔的控制7,成果(使用python画小黄人)
- 用python画小黄人-学Python画画:应用Turtle库画一个蠢萌的小黄人
- MATLAB绘制小黄人
- jquery 日期显示插件_8+ jQuery 360度图像显示插件
- flashvml2_0.htm
- java jsp html嵌入视频播放器
- html页面控制播放器插件
- 《天空英雄》SKYHERO剧情简介
- 8+ jQuery 360度图像显示插件
- MP4 FLASH等播放代码
2021年秋招遇到的前端笔试/面试题相关推荐
- 2021届秋招腾讯前端一面面经
码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取. 基本信息 部门:QQ音乐 方式:电话面试 题目总结 JavaScript篇 自我介绍 学习前端多久 Java ...
- 2021年秋招【凯捷咨询笔试题】
1.请选择该方法的返回类型() Return Type method(byte x,double y){return (short)x/y*2; } A.byte B.short C.int D.do ...
- 2021秋招总结(内含笔试面试攻略)
每年都被称为就业最难的一年!!! 因为突如其来的疫情直到2020年6月才返校!!! 笔试面试准备合集 算法面试常考知识点 计算机网络面试常考知识点 Linux面试常考知识点 操作系统面试常考知识点 C ...
- 知乎热榜:如何看待 2021 年秋招算法岗灰飞烟灭?
公众号关注 "GitHubPorn" 设为 "星标",带你了解技术圈内新鲜事! 出处:https://www.zhihu.com/question/406974 ...
- 如何看待2021年秋招算法岗灰飞烟灭?
仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:知乎,https://www.zhihu.com/question/406974583 编辑:深度学习与计算机视觉 18年是否值得进入,19年供 ...
- 如何看待【2021年秋招算法岗】灰飞烟灭?
来自:知乎 链接:https://www.zhihu.com/question/406974583 XX Zhao 我以一个公司的面试官角度来回答一下这个问题吧. 我目前在tmd中一家的业务线上担任图 ...
- 谁说2021届秋招算法岗一定要灰飞烟灭啦?
没错,这是一碗鸡汤,希望肝完这碗鸡汤的师弟师妹们就不要过度焦虑啦-理性上车,理性下车,希望萌新们都能遇到最适合自己的坑位 2014年末入坑AI,一路见证了AI行业的快速起飞.爆炸.焦虑和冷却. 小夕前 ...
- 2021届秋招算法岗真的要灰飞烟灭了吗?
星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 文 | 不拖更的夕小瑶 2014年末入坑AI,一路见证了AI行业的快速起飞.爆炸.焦虑和冷却. 小夕前几天在知乎上看到一个问题<如何 ...
- 2021互联网秋招,有哪些值得投的好公司?
微信公众号 "计算机校招",每天都会更新最新的"互联网/计算机/科技类 公司" 校园招聘信息,欢迎关注! 新浪校招 | 新增岗位!抓住最后的机会 联通支付202 ...
最新文章
- ol xyz 加载天地图_OpenLayer学习之加载天地图
- KeyMob聚合平台--国内口碑最好的移动广告聚合平台
- accept函数_基础套接字函数入门1
- swiper默认选中_Swiper
- Scala里的类型擦除 - type erase
- SAP UI5的support Assistant
- scss-字符串连接符
- android 反编译及二次打包详细步骤
- Calling LoadLibraryEx on ISAPI filter failed
- Microsoft Office XP 完美迷你安装版
- 网状神经系统的典型特点,网状结构神经系统
- springboot 项目启动报错 url' attribute is not specified and no embedded datasource could be configured
- 如何注册ArcGIS教学试用版账号
- 图片放大不模糊,如何实现?
- 用户画像如何分析 用户画像如何获取
- 51Nod-1000A+B
- consul-esm介绍
- 用python庆祝生日_孩子周岁生日如何庆祝才圆满?不想留遗憾的家长,多数选择这样...
- 关于异常:警告: Exception encountered during context initialization - cancelling refresh attempt
- verilog 实现不同按键的LED 闪烁效果
热门文章
- java所以要用到的软件_【答疑】学java需要用到什么软件?用哪个软件比较好? - 羽兔网问答...
- API 动态更新 Upstream
- 程序控制语句计算机语言描述,AL语言
- PS技术在学校里学三年也学不到这么多
- java 异步记录日志_java异步写日志到文件中实现代码
- selenium安装出错解决办法
- java maven 读写pdf_Java动态生成pdf文件(使用itext编辑pdf)
- ArcGIS基础: 高级编辑器下的整形要素、镜像、概化、平滑和缓冲区工具
- 带你使用nvm管理node版本以及环境变量配置
- 微信开放平台提供什么服务器,微信开放平台:朋友圈API参考文档