2022年字节前端笔试题

  1. 这次参与字节的笔试感觉字节毫无准备,也不知怎么准备,总体而言,自我感觉好糟,单选和不定项都不太懂,因为还没背八股文,另外两道编程题,还好这两道没有要求规定只能使用某种语言。所以我最终都是用C++解决的,对于C++较熟悉,本来打算用JS进行实现,但是发现不会用ACM模式,虽然有实例可以参考,但是对于输入也不太懂,所以接下来还是得刷一下如何在ACM模式下运行JS。ACM模式下JS有两种模式,不同模式对于输入和输出都是不太一样的。
  2. 下面是我对此次字节前端笔试的一点记录,可以回忆一下自己哪些不会,以及预防在面试过程中会再次问到相关知识(虽然不知到能否通过笔试www)。
  3. 此次的笔试一共分三种题型:单选(10道),不定项选(5道),编程题(2道)
  4. 单选(下面只是记住了题目的大概)
    (1)http和https的相关
    (2)POST和GET有关
    (3)visibility:hidden和display:none的有关
    (4)下列中自结束标签的是
    (5)下面中结果为false的是:
  		A. []==0;
        B. ''==0;
        C. 'true'==new function(){
            return new String('true');
        }
        D. 'true'==new function(){return String('false');}

(6)下面哪些选项的排序算法具有稳定性(选项是什么就不记得了)
这里写一下哪些排序算法是稳定哪些是不稳定的:
稳定算法:冒泡排序、插入排序、归并排序、基数排序
不稳定算法 :选择排序、快速排序、希尔排序、堆排序

因为先做单选和不定项选择最后才做编程题,而且只有该题型提交后才可以选择其他题型,所有最后做完两道编程题后前面的基本不太记得了。
编程题:(两道编程题都比较简单)
第一道:打怪兽有关的
大概意思就是用户击杀一次怪兽可以获得增益buff,增益持续时间为duration,如果还没到达增益时间结束时间时又再一次击杀怪兽时,则duration清除,进行重新保存这次获取到的增益buff所能持续的时间,最终需要求得的是buff能持续的总时间,其中timeSeries[]用于存储用户在第几秒击杀怪兽,duration[]用于存储击杀后buff对应能持续的时间
输入要求:第一行输入N,表示timeSerie[]和duration[]数组的长度,两者长度是一样的;
第二行输入N个数字,每个数据用空格分隔,表示用户第几秒击杀怪兽(已根据先后顺序排好了)
第三行输入N个数字,每个数据用空行分隔,表示每次击杀后对应的增益buff能持续的时间
测试用例:

输入用例:
2
2 4
3 4
结果输出:
6	// 第2秒到第4秒一共两秒,虽然第2秒产生的增益可以持续3秒,但是第4秒击杀后则会重新按照新的增益持续时间进行计算,所以 6 = 2+4

测试用例2:
输入:
3
1 3 6
2 2 3
输出:
7

第二道:有效集合
有效集合指的是一组整型数据中存在任意一个数是其他数据的前缀。
大概意思就是第一行输入整数N,表示测试示例的组数
接着循环输入N组数据,每组数据第一行输入T表示该组数据用例包括多少个整数,随后T行表示T个整数
要求是判断每组数据是否为有效集合
有效集合则输入YES,否则为无效,输入NO
测试例子:(下面例子是自己想的)

测试用例输入:
3
4
1223
234564
34567987654
122345678765
2
12
1222234
1
34
结果输出:
"YES"//因为1223是12345678765的前缀
"NO"
"NO"
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值