深信服笔试

  1. 第一题,这个感觉是在考察你的api能力和细节
    const sss = readline()
    let str = '', ans = '', f = true
    for (let i = 0; i < sss.length; i++) {
    if (f) {
     if (sss[i] === ' ') {
       f = false
       continue
     }
     str += sss[i]
    } else {
     ans += sss[i]
    }
    }
    str = JSON.stringify(new Date(+str))
    const arr = str.split('T')
    let left = arr[0].split('-')
    let year = left[0].slice(1), mon = left[1], day = left[2]
    let right = arr[1].split('.')[0].split(':')
    let hour = right[0], min = right[1], second = right[2]
    if (mon.startsWith('0')) mon = mon.slice(1)
    if (day.startsWith('0')) day = day.slice(1)
    if (year.startsWith('0')) year = year.slice(1)
    if (hour.startsWith('0')) hour = hour.slice(1)
    if (min.startsWith('0')) min = min.slice(1)
    if (second.startsWith('0')) second = second.slice(1)
    const keyarr = ['yyyy', 'MM', 'dd', 'HH', 'mm', 'ss']
    const valuearr = [year, mon, day, hour, min, second]
    for (let i = 0; i < keyarr.length; i++) {
    while (ans.indexOf(keyarr[i]) !== -1) {
     ans = ans.replace(keyarr[i], valuearr[i])
    }
    }
    print(ans)

2.不知道为什么,80%

const arr = readline().split(' ').map(x => +x)
let n = arr[0]//客人数量
let t = arr[1]//时间

const all = Array(n).fill(0).map((item, index) => index)

let start = 0
while (all.length > 1) {
    start = (start + t) % (all.length)
    all.splice(start, 1)
}
print(all[0])

3.滑动窗口就行

const arr = readline().split(' ').map(x => +x)
const k = arr.splice(arr.length - 1, 1)

if (arr.reduce((a, b) => a + b, 0) < k) print(0)

//滑动窗口
let left = 0, right = 0, min = Infinity, sum = 0
let ans = []
while (right < arr.length) {
    sum += arr[right]
    while (sum >= k) {
        if ((right - left + 1) < min) {
            min = right - left + 1
            ans = []
            for (let i = left; i <= right; i++) {
                ans.push(i)
            }
            ans = ans.join(' ')
        }
        sum -= arr[left]
        left++
    }
    right++
}
print(ans)
#深信服笔试题##前端#
全部评论
第一道我还在想怎么用正则,麻了麻了 感觉这次挺简单就是不能过 完犊子0.3 0.6 0.6
1 回复 分享
发布于 2022-09-16 21:06 江苏
今晚的笔试三道编程题跟帖子中的一样
点赞 回复 分享
发布于 2022-09-29 20:59 山东
选择都考啥啊
点赞 回复 分享
发布于 2022-09-22 14:31 广东
hi~同学,秋招遇“寒气”,牛客送温暖啦!23届秋招笔面经有奖征集中,参与就得牛客会员7天免费体验,最高赢300元京东卡!戳我去看>>>https://www.nowcoder.com/link/zhengjipinglun
点赞 回复 分享
发布于 2022-09-19 11:55 北京
同学同花顺尝试一下吗,面试简单不造火箭,我帖子有内推
点赞 回复 分享
发布于 2022-09-17 00:54 浙江
第二题用splice用node是超时了,用V8报了个奇怪的错
点赞 回复 分享
发布于 2022-09-16 22:12 陕西
我第一题只有50,是要加0啥的吗
点赞 回复 分享
发布于 2022-09-16 21:49 福建
以为是后端,结果进去是前端一脸懵
点赞 回复 分享
发布于 2022-09-16 21:13 河南
都a了多少啊你们😭
点赞 回复 分享
发布于 2022-09-16 21:03 四川
第一题我没看懂题目,为啥给的时间戳是1668…… 却能对应上2022? 第二题击鼓传花吗?但是提示我数组访问边界出错,只过了65
点赞 回复 分享
发布于 2022-09-16 20:57 江苏

相关推荐

08-21 14:06
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
08-29 00:15
已编辑
中南大学 C++
岗位:软件开发工程师(后端)面试timeline:8.7投递-8.9第一次笔试-8.16第二次笔试-8.25一面问题40分钟:1.介绍多态,重载、重写底层如何实现2.野指针和悬挂指针出现场景,产生什么后果,如何解决3.介绍智能指针,什么操作会导致共享指针引用计数加1、减14.如果想把一个智能指针的释放控制在某一个线程内应该怎么做?这个我不会,面试官说要让指定线程一直持有着它,然后再释放,我还是没太懂5.对堆和栈的理解6.申请堆空间的方式,两种方式的区别7.STL库有了解吗?vector有了解吗?8.除了添加元素时容量不够会扩容,还有什么时候会扩容?这个我不知道,面试官说还有一个用来动态扩容的容器阈值,当前申请的内存超过阈值时会提前申请。9.vector底层数组在内存分配上是什么特性10.还有其他内存分配方式吗11.为什么有epoll,epoll的水平触发和边缘触发12.tcp三次握手13.对于客户端和服务器而言,是怎么认出这个tcp连接的?我当时一直没get到面试官的意思,现在想想应该是想让我回答四元组标识一条连接吧?14.客户端和服务器的fd都是什么时候生成的15.连接队列满了会给客户端返回什么?不清楚,面试官说reset16.进程和线程。我当时有点昏头了,说进程不能很好的利用多核cpu,面试官说多进程也可以用多核17.进程间通信18.linux排查问题的相关命令:查网络连接、查网络连接个数、grep反向查找手撕:反转链表我发现如果面试官比较满意前面的问答的话,出的题就比较简单一点
查看18道真题和解析
点赞 评论 收藏
分享
评论
6
28
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务