**

本文仅用于记录本人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标签的使用:

标签定义声音,比如音乐或其他音频流。
标签定义图形,比如图表和其他图像。 标签只是图形容器,您必须使用脚本来绘制图形。

标签定义外部的内容。比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本。亦或是来自其他外部源内容。

标签定义命令的列表或菜单。

标签用于上下文菜单、工具栏以及用于列出表单控件和命令。 command 元素表示用户能够调用的命令。 标签可以定义命令按钮,比如单选按钮、复选框或按钮。只有当 command 元素位于 menu 元素内时,该元素才是可见的。否则不会显示这个元素,但是可以用它规定键盘快捷键。

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年秋招遇到的前端笔试/面试题相关推荐

  1. 2021届秋招腾讯前端一面面经

    码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取. 基本信息 部门:QQ音乐 方式:电话面试 题目总结 JavaScript篇 自我介绍 学习前端多久 Java ...

  2. 2021年秋招【凯捷咨询笔试题】

    1.请选择该方法的返回类型() Return Type method(byte x,double y){return (short)x/y*2; } A.byte B.short C.int D.do ...

  3. 2021秋招总结(内含笔试面试攻略)

    每年都被称为就业最难的一年!!! 因为突如其来的疫情直到2020年6月才返校!!! 笔试面试准备合集 算法面试常考知识点 计算机网络面试常考知识点 Linux面试常考知识点 操作系统面试常考知识点 C ...

  4. 知乎热榜:如何看待 2021 年秋招算法岗灰飞烟灭?

    公众号关注 "GitHubPorn" 设为 "星标",带你了解技术圈内新鲜事! 出处:https://www.zhihu.com/question/406974 ...

  5. 如何看待2021年秋招算法岗灰飞烟灭?

    仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:知乎,https://www.zhihu.com/question/406974583 编辑:深度学习与计算机视觉 18年是否值得进入,19年供 ...

  6. 如何看待【2021年秋招算法岗】灰飞烟灭?

    来自:知乎 链接:https://www.zhihu.com/question/406974583 XX Zhao 我以一个公司的面试官角度来回答一下这个问题吧. 我目前在tmd中一家的业务线上担任图 ...

  7. 谁说2021届秋招算法岗一定要灰飞烟灭啦?

    没错,这是一碗鸡汤,希望肝完这碗鸡汤的师弟师妹们就不要过度焦虑啦-理性上车,理性下车,希望萌新们都能遇到最适合自己的坑位 2014年末入坑AI,一路见证了AI行业的快速起飞.爆炸.焦虑和冷却. 小夕前 ...

  8. 2021届秋招算法岗真的要灰飞烟灭了吗?

    星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 文 | 不拖更的夕小瑶 2014年末入坑AI,一路见证了AI行业的快速起飞.爆炸.焦虑和冷却. 小夕前几天在知乎上看到一个问题<如何 ...

  9. 2021互联网秋招,有哪些值得投的好公司?

    微信公众号 "计算机校招",每天都会更新最新的"互联网/计算机/科技类 公司" 校园招聘信息,欢迎关注! 新浪校招 | 新增岗位!抓住最后的机会 联通支付202 ...

最新文章

  1. ol xyz 加载天地图_OpenLayer学习之加载天地图
  2. KeyMob聚合平台--国内口碑最好的移动广告聚合平台
  3. accept函数_基础套接字函数入门1
  4. swiper默认选中_Swiper
  5. Scala里的类型擦除 - type erase
  6. SAP UI5的support Assistant
  7. scss-字符串连接符
  8. android 反编译及二次打包详细步骤
  9. Calling LoadLibraryEx on ISAPI filter failed
  10. Microsoft Office XP 完美迷你安装版
  11. 网状神经系统的典型特点,网状结构神经系统
  12. springboot 项目启动报错 url' attribute is not specified and no embedded datasource could be configured
  13. 如何注册ArcGIS教学试用版账号
  14. 图片放大不模糊,如何实现?
  15. 用户画像如何分析 用户画像如何获取
  16. 51Nod-1000A+B
  17. consul-esm介绍
  18. 用python庆祝生日_孩子周岁生日如何庆祝才圆满?不想留遗憾的家长,多数选择这样...
  19. 关于异常:警告: Exception encountered during context initialization - cancelling refresh attempt
  20. verilog 实现不同按键的LED 闪烁效果

热门文章

  1. java所以要用到的软件_【答疑】学java需要用到什么软件?用哪个软件比较好? - 羽兔网问答...
  2. API 动态更新 Upstream
  3. 程序控制语句计算机语言描述,AL语言
  4. PS技术在学校里学三年也学不到这么多
  5. java 异步记录日志_java异步写日志到文件中实现代码
  6. selenium安装出错解决办法
  7. java maven 读写pdf_Java动态生成pdf文件(使用itext编辑pdf)
  8. ArcGIS基础: 高级编辑器下的整形要素、镜像、概化、平滑和缓冲区工具
  9. 带你使用nvm管理node版本以及环境变量配置
  10. 微信开放平台提供什么服务器,微信开放平台:朋友圈API参考文档