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##前端##面试##凉经##大厂##秋招#
全部评论

相关推荐

01-11 12:43
门头沟学院 Java
一面30min左右自我介绍+项目全流程讲解&nbsp;5min左右项目提问10min左右(只能回忆一部分)1.在与大模型的交互中,通常采用的是SSE&nbsp;协议,为什么要在项目中使用IM来进行通讯?2.分布式ID高性能改造,做了那些方面的性能优化?3.消息推送平台中数据存储的设计?八股15min1.分布式锁?分布式锁要解决那些问题?2.数据一致性解决方案中,延迟双删的问题?3.新建一个线程池要指定哪些参数?整个运行过程?4.核心线程数量,还有最大线程数量,还有一个是工作队列。但是工作队列我们一般都会去选择有界的,很少去选择无界的这个队列。基于这三个参数的这个大小,我们应该怎么去评估?5.队列的大小应该怎么去设置?6.HashMap扩容流程7.索引失效有哪些场景?8.类型转换为什么会失效?9.RocketMQ中的事务消息原理?场景题5min左右1在不使用RoctetMQ本身提供的这一套机制的话,我们自身有没有什么其他的方案能够避免这种问题?二面30min左右(已挂)1.gap一年在做什么?2.讲一下项目中的两个点亮,如何设计,碰到的问题,怎么解决的?3.Object中有两个方法,一个是&nbsp;equals,一个是&nbsp;hashCode。一般是重写了equals,单身通常是要重写hashCode,为什么?4.写Java代码的时候,打交道最多的,一个是&nbsp;JDK,&nbsp;一个是Spring?讲一下在哪个地方见到用到了什么样的设计模式。5.MySQL的索引默认Innodb引擎,为什么?6.数据库的隔离级别7.如果开发的应用程序上线之后,突然出现CPU猛涨的情况,如何去查?8.双栈实现一个队列,口述思路。
查看22道真题和解析
点赞 评论 收藏
分享
01-14 17:41
已编辑
门头沟学院 Java
一面60min左右自我介绍+项目全流程讲解&nbsp;15min左右项目提问15min左右(只能回忆一部分)1.SSE与WebSocket的区别?2.构建出的知识库中的数据是如何处理?3.检索出来的结果不够精准,应该如何继续去优化?4.系统性能如何评估?用到的指标是什么?5.短期记忆和长期记忆如何做?6.系统越用越慢,如何反向调优?7.用户引导模型越狱问题如何解决?8.如何在最大程度上减少幻觉问题?场景题10min左右1.利用你学到的知识设计一个秒杀系统?2.除了上述讲的之外在秒杀前中后应该要做什么处理?3.不使用缓存,用数据库层接住全部流量,数据库这层要做什么处理?八股20min1.一条SQL的执行流程?2.MySQL8.0为什么要移除查询缓存?3.Innodb引擎核心模块有哪些?4.索引失效场景?5.Java内存模型如何划分?6.堆和栈的区别?7.JVM如何保证只加载一个类?8.SpringBoot的自动装配?9.SpringBoot的启动流程?二面40min左右项目提问15min左右1.为什么要根据系统重新写一个ID生成器?如何解决数据倾斜的问题?扩容碰到的问题如何解决?2.消息推送的完整链路,已经如何设计高可用和高可靠两个模式?3.10w条消息推送,多久可以推送完?4.如果是100w,10000w数据,系统是否可以抗住?5.有突发紧急任务进来,应该如何处理?6.令牌桶算法?7.在处理哪些场景上用到消息队列?8.rocketmq和kafka的选型?场景题目25min左右1.以京东秒杀商品为背景,秒杀成功之后进行支付,支付成功后要去调我们的扣费接口。但这个过程中也有可能会数据丢失,比如说用户支付完了之后,扣费没调成功,或者其他问题,导致了我们那个订单的状态没更新好。用户未支付,到15&nbsp;分钟后库存又被还原掉了。针对这个完整的链路,讲一下关键节点的技术要点。2.把支付的一些参数,包括订单号等信息,按照第三方支付平台的要求拼起来加密,产生一个支付流水号。用户支付之后,但是此时和第三方系统通讯的链路断了,如何解决用户付了钱,订单没更新的问题。3.系统没有有随机3%左右的接口访问的时候超时。比较随机,而且分布的接口又不是在同一个接口。像这样的一个生产问问题如何去排查?三面HR面30min(常规问题不做记录)
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

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