9.11 腾讯csig

1.图文上传流程
2.如何解决图片上传的负载
3.不同文件预览的挑战
4.讲一下自定义hook
5.讲一下Vue2 和vue3 的差异
6.vue3解决了vue2的什么问题
7.react对比vue的差异
8.了解性能优化,在网络层面讲一下优化
9.301 和 302区别
10.浏览器缓存的策略
11.具体是怎么触发缓存
12.css的动画中,给一个元素写一个动画,又给它绑定了js点击事件,会生效吗
13.反过来,js的代码会不会影响css
14.盒子模型,width:100 padding:100 宽度是多少

手撕:
对于一个数组(长度>=3)进行乱序排序,要求每个元素不会落到原来位置,且落到其他位置的概率相同:
function derangementShuffle(arr) {
  const n = arr.length;
  // 复制数组,防止修改原数组
  const shuffledArr = [...arr]; 
  
  // 1. 使用 Fisher-Yates 洗牌算法进行初步打乱
  for (let i = n - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]];
  }

  // 2. 检查并纠正还在原位的元素
  for (let i = 0; i < n; i++) {
    // 如果当前元素还在原位,需要进行交换
    if (shuffledArr[i] === arr[i]) {
      let j = (i + 1) % n; // 从下一个位置开始找
      
      // 找到一个可以交换的元素
      while (shuffledArr[j] === arr[j] && j !== i) {
        j = (j + 1) % n;
      }
      
      // 进行交换
      [shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]];
    }
  }

  return shuffledArr;
}

// 示例
const originalArr = [1, 2, 3, 4, 5];
const derangedArr = derangementShuffle(originalArr);
追问:
这段代码的时间复杂度是多少

反问:
1.业务
2.几面
#腾讯##csig##前端##面试##凉经##大厂##秋招#
全部评论

相关推荐

昨天 20:14
东南大学 C++
一、项目&nbsp;/&nbsp;求职方向1.先介绍一下自己。2.你觉得这段实习经历,你的成长有哪些方面?3.你为什么考虑投后台开发这个岗?4.你能大概介绍一下你了解的后台开发相关内容吗?5.结合你之前的实习项目,你接触到的后端相关内容有哪些?6.你端上的&nbsp;SQL&nbsp;用的是什么数据库?7.设备特征缓存优化这一块,也是端上做的吗?8.除了这段实习,你还有哪些后端相关经验?9.你对后端开发是怎么理解的?二、高并发&nbsp;/&nbsp;网络编程&nbsp;/&nbsp;epoll&nbsp;/&nbsp;协程10.高并发你怎么理解?11.评估高并发有什么指标吗?12.你怎么判断一个系统是不是到了高并发场景?13.你怎么判断系统已经到瓶颈了?14.高并发场景下,一般什么资源会先被打满?15.如果不考虑外部&nbsp;IO,只看服务器内部处理,怎么判断它已经满了?16.纯高并发网络框架场景下,一般是&nbsp;CPU&nbsp;先满还是内存先满?为什么?17.你写过&nbsp;epoll,也了解过&nbsp;Go&nbsp;的协程,你觉得它们在设计思路上有什么区别?18.你觉得&nbsp;epoll&nbsp;和协程哪个更好?为什么?19.如果&nbsp;epoll&nbsp;已经很好了,为什么后来还会出现协程这种设计?三、基础算法&nbsp;/&nbsp;排序20.排序算法介绍一下。21.堆排序适合解决什么样的问题?22.堆里取最大值或最小值的复杂度是多少?23.快速排序的时间复杂度是多少?24.快速排序最坏情况是什么复杂度?25.什么情况下快速排序会退化到最坏情况?26.有什么优化措施可以减少快速排序退化的情况?四、操作系统27.进程和线程有什么区别?28.进程和线程切换,哪个更快?为什么?29.进程切换主要慢在哪里?30.进程的寻址空间大概有多大?31.32&nbsp;位系统和&nbsp;64&nbsp;位系统的寻址空间一样吗?32.你怎么理解线性地址、逻辑地址和物理地址?五、数据库33.MySQL&nbsp;的索引数据结构有哪些?34.为什么&nbsp;MySQL&nbsp;索引常用&nbsp;B+&nbsp;树,而不是红黑树?35.索引为什么要考虑磁盘存储特性?六、网络&nbsp;/&nbsp;HTTPS36.HTTP&nbsp;和&nbsp;HTTPS&nbsp;有什么区别?37.HTTPS&nbsp;是怎么解决信任源问题的?38.如果证书不是权威机构签发的,会有什么问题?39.浏览器为什么能识别哪些证书机构是可信的?七、AI&nbsp;/&nbsp;Agent&nbsp;/&nbsp;大模型基础40.你比较擅长哪些技术方向?41.Agent&nbsp;的设计模式有哪些?42.ReAct&nbsp;是一种什么思想?为什么会有这种模式?43.为什么模型会出错或者产生幻觉?44.如果模型缺少信息,它直接回答“缺少信息”就可以了,为什么还要继续设计&nbsp;ReAct&nbsp;这类模式?45.现在这些主流大模型,用的是解码器还是编码器?46.GPT&nbsp;和&nbsp;BERT&nbsp;的区别你知道吗?47.既然你对&nbsp;AI&nbsp;开发感兴趣,那你怎么理解模型的能力边界?八、编程题48.有&nbsp;N&nbsp;个人围成一圈,从第&nbsp;S&nbsp;个人开始报数,报到&nbsp;M&nbsp;的人出列,然后从下一个人继续,直到最后剩下一个人,输出一下出列顺序。
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

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