蔚来面经
1.一个大的二维数组,按行遍历和按列遍历哪个更高效,csapp的内容
2.进程 线程 协程的关系以及GMP
3.MySQL乱序insert和有序insert的效率比较
4.算法:滑动窗口的最大值
22日,收到二面通知
更新:
应该是g了我感觉
unique_lock和lock_guard的区别
IP package header的结构
这两个是我没答上来的
算法挺有意思
设有一个uint32的数组nums,输入一个uint32的数字x,找到一个nums的索引i,使得x^nums[i]^nums[i+1]^...^nums[len(nums)-1]最大,要求时间复杂度最小。
先求构造一个temp数组,其中temp[len(nums)-1]是nums[len(nums)-1],temp[len(nums)-2]=temp[len(nums)-1]^nums[len(nums)-2]这样后缀的异或数组。
面试官提醒我给每一位寻找最优匹配我才想起二叉字典树这个做法。
把temp数组的数据存到二叉树里面,就是构造一个深度为33的二叉树,把每一个数都看成一个二叉树路径,比如说root.left==nil就说明temp里面没有最高位为0的数,构造了之后我只需要寻找与x匹配的最优路径得到我要找的最佳匹配的数,然后在通过我事先存的map[数字]index得到我要求的索引号。
挺绕的。。。
5日,二面通过。
更新:
考察了哈夫曼树,堆石子问题。
有N堆石子,现要将石子有序的合并成一堆,规定如下:
每次只能移动相邻的2堆石子合并
合并花费为新合成的一堆石子的数量。
求将这N堆石子合并成一堆的总花费最小(或最大)。
问了私人问题。
三面完已g。#蔚来面试#
2.进程 线程 协程的关系以及GMP
3.MySQL乱序insert和有序insert的效率比较
4.算法:滑动窗口的最大值
22日,收到二面通知
更新:
应该是g了我感觉
unique_lock和lock_guard的区别
IP package header的结构
这两个是我没答上来的
算法挺有意思
设有一个uint32的数组nums,输入一个uint32的数字x,找到一个nums的索引i,使得x^nums[i]^nums[i+1]^...^nums[len(nums)-1]最大,要求时间复杂度最小。
先求构造一个temp数组,其中temp[len(nums)-1]是nums[len(nums)-1],temp[len(nums)-2]=temp[len(nums)-1]^nums[len(nums)-2]这样后缀的异或数组。
面试官提醒我给每一位寻找最优匹配我才想起二叉字典树这个做法。
把temp数组的数据存到二叉树里面,就是构造一个深度为33的二叉树,把每一个数都看成一个二叉树路径,比如说root.left==nil就说明temp里面没有最高位为0的数,构造了之后我只需要寻找与x匹配的最优路径得到我要找的最佳匹配的数,然后在通过我事先存的map[数字]index得到我要求的索引号。
挺绕的。。。
5日,二面通过。
更新:
考察了哈夫曼树,堆石子问题。
有N堆石子,现要将石子有序的合并成一堆,规定如下:
每次只能移动相邻的2堆石子合并
合并花费为新合成的一堆石子的数量。
求将这N堆石子合并成一堆的总花费最小(或最大)。
问了私人问题。
三面完已g。#蔚来面试#