关于腾讯:腾讯前端笔试心得人生需要一点deadline

48次阅读

共计 2304 个字符,预计需要花费 6 分钟才能阅读完成。

起因

2021-03-21,早晨八点到十点,我加入了腾讯的第一轮口试,方向为前端 /UI 方向。通过了两个小时的答题,五道题最终我做进去三道题,我对我本人这次口试的后果是不称心的。在上面我简略解说一下面试的五道题,本人得胜的起因,以及从这次面试中悟出的情理。

想写一篇复盘文章,然而太多了,怕本人始终拖下去始终写不完,就先写写本人的新的吧。

小编之前公布无关前端面试的文章,点击 题目 即可浏览喽
题目:Vue 面试题
题目:前端面试之问到 promise
题目:怎么判断面试者是否有扎实的前端根底

口试流程分享

这次腾讯口试在牛客网进行,时长为两个小时。本次口试为五道编程题。在考试前,须要提前登录确认考生的身份,以及查看你的摄像头等等,而后前一个诚信保证书,就能够期待考试了。考试开始,他会先给你两道例题,让你明确如何在 acm 模式中自行的输入输出数据。两个小时工夫到了,就会主动排队提交试卷。

倡议大家提前登陆相熟一下流程,例如 acm 模式如何提交代码。而后代码是能够复制到本地调试的,如何复制到本地调试等等,须要本人提前相熟一下。

口试复盘

第一题:实现有限滚动

DOM 和 javascript 常识综合题

代码挖空补全

题目:要求补全代码,当 div 滑动条离最上面间隔小于 100px 时,则插入一个元素进去,实现有限滚动。

question1.vercel.app 我实现的答案。

做题感触

这道题不算很难,然而在写上面的代码时候,因为不太熟悉 scrollTopscrollHeight,clientHeight 等等,所以最初代码始终过不了,浏览器还会卡住。可能和我的实现与判题零碎无关。而后一开始做题很慌,能犯的谬误都犯了。

const scrollTop = container.scrollTop;
const contentHeight = container.scrollHeight;
const height = container.clientHeight;
const shouldTrigger = contentHeight - height - scrollTop <= distance

复制代码

我倡议将如果牛客网的代码不太好调试就立即复制到本地调试。

第二题:一个正整数 n 起码多少步能力变为 0

他能够做的变换:

  1. n – 1
  2. 如果 n 是 2 的倍数:n / 2
  3. 如果 n 是 3 的倍数:n / 3

数据范畴:

  • count:1 到 10000
  • n:1 到 2 的 31 次幂

输出示范

2
10
10
复制代码

输入示范

4
4
复制代码

我的答案:

  1. 答案 1 不能间接运行,因为是从规范输出流输入流读取的数据(浏览器)。
  2. 函数版本能够间接运行。

动静布局 dp 剪枝

这道题我第一眼看上去认为是一道简略的动静布局,但我口试时始终没有通过。

当初想明确了。这道题是一道简略的动静布局,只是须要剪枝。咱们能够察看到 n 的最大值能够为 2 的 31 幂,所以如果咱们间接从顶向下不剪枝必定是会爆栈的。(话说为什么我口试的时候也看到数据范畴了,为什么没有想到呢)当然这道题也不能自底向上了,因为数据量太大了。

咱们自顶向下,而后应用备忘录记录数据。如果是 2 的倍数或者 3 的倍数就不必计算 n - 1 的状况了。

第三题:01 背包?

有一个行数 r,列数 c 的矩阵。抉择矩阵中的值,使列相加为 c 的状况下,使值相加最大。每行只能抉择一次。

第四题:计算运算表达式的值

输出示范

"1+4/2-1"
复制代码

输入示范

2
复制代码

这题我认为他是在考 javascript 的 api(eval),因为规定只能用 javascript 答题。

所以我间接 eval 运行了。

第五题:将中文数字字符串转换成数字

数据范畴:不超过 1 亿

考点:法则的发现

  1. 输出一:“一千三”

    输入一:1300

  2. 输出二:“一千三百零一”

    输入二:1301

  3. 输出三:“十二”

    输入三:12

  4. 输出四:“一千三百二十一万一千三百二十一”

    输入四:13211321

这道题不考数据结构,就考能不能发现法则,解决问题。我考试前看见过这道题,然而没有细看他们是怎么解答的。

最终经验含辛茹苦写进去了。

这里是答案

思路:

  1. 咱们要将文字转换成数字,所以须要一个映射关系。
  2. 十百千万都是单位,所以也要映射一下,留神零的思考,零我把它当作单位而不是数字(须要非凡解决)例子:一千三百零一。
  3. 非凡状况的思考:例如最初一个数没有单位,一千三。
  4. 数据范畴在一亿以内,所以万这个单位能够特殊化。呈现万就把转换中的后果乘 10000.

由这次的腾讯面试,总结了一份腾讯面试题材料,大家须要的请自取。点击这支付腾讯前端面试题

总结

我题目取的是人生须要一点 deadline,我之所以这样说,因为我口试的时候切实是太紧张了。照理说这 5 个题就两头第三题会难一点,然而最初 2 个小时我写进去了 4 个题。我想和我平时训练有余无关。我这里说的训练有余,即指本人题刷的比拟少,更指本人做 leetcode 的时候没有为本人设置 deadline。平时做题慢吞吞的,始终在调试,切实做不起了还能够看看他们的题解。ac 完了代码我还会去把本人的代码化简,但这些都不是最重要的。最重要的是有一个和面试最类似的环境。能够在最短的工夫内想出做题的思路,能最疾速的,最清晰的写出可能 ac 的代码。而不应该关怀这个式子是不是曾经化简到最简了。

因而咱们要为本人设置 deadline,平时后缓和起来,到本人去面试的时候,到这个实在的环境,就不这么缓和了。例如 leetcode 有模仿面试性能,大家能够去模仿面试一下。而后面试都是在牛客上进行,所以不能始终依赖 leetcode,也要在牛客网上训练(尽管这个平台不太好用,leetcode 好用)。不然到本人面试的时候像我一样平台都不相熟就死翘翘了。

喜爱这篇文章的小伙伴们请点赞 + 评论反对下哦,也祝在找工作在面试的小伙伴们顺顺利利,克敌制胜!

正文完
 0