首页 > 腾讯云前端一面
头像
棒打鲜橙
编辑于 2021-09-01 21:16
+ 关注

腾讯云前端一面

上来一道算法,面了75分钟(面试官好闲),几乎问题都要往底层问,当场去世,肯定凉凉🙃
  1. js和c语言有什么区别
  2. c语言的指针了解吗

  3. 为什么复杂数据类型在堆内存里

  4. 闭包说一下,闭包这个是存在哪里的(堆)

  5. 事件循环说下,执行栈空了循环会停止吗???是死循环吗

  6. node和js有什么区别

  7. node事件循环机制

  8. 鼠标点击触发一个事件,说一下浏览器方面的过程,跟浏览器刷新率(帧)来分析

  9. css为什么叫层叠样式表

  10. 拖拽怎么实现高性能

  11. requestanimationframe

  12. 变量提升,暂时性死区

  13. 全局作用域下var存在哪里,let,const存在哪里

  14. webpack用过吗,都怎么优化的

  15. 怎么区分生产和开发环境

  16. webpack路由懒加载原理,怎么打包到一起,什么场景打包到一起

  17. 一道算法

/*
给定一个数组 nums,编写一个函数将所有 3 移动到数组的末尾,同时保持其他元素的相对顺序。

示例:
输入: [0,1,0,3,3,3,12,3,1,6,3]
输出: [0,1,0,12,1,6,3,3,3,3,3]

说明:
- 使用 javascript
- 必须在原数组上操作,不能拷贝额外的数组,即空间复杂度要求为 O(1)。
- 不能使用 Array.prototype.splice() 和 Array.prototype.slice() 和 delete
- 简单来说就是只允许数组内元素位置互换
- 尽量减少操作次数,争取时间复杂度为 O(n)。
*/
function sort(nums) {
  var num = 0
  for(var j = 0;j<nums.length;j++){
    if(nums[j] == 3){
      num++
    }else if(num != 0){
      let n = j
      nums[j-num] = nums[j]
      nums[n] = 3
    }
  }
  return nums
}




更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖