11 2020 档案

摘要:福哥答案2020-11-29:1,先让整个数组都变成大根堆结构,建立堆的过程: 1)从上到下的方法,时间复杂度为O(N*logN)。 2)从下到上的方法,时间复杂度为O(N)。2,把堆的最大值和堆末尾的值交换,然后减少堆的大小之后,再去调整堆,一直周而复始,时间复杂度为O(N*logN)。3,堆的大 阅读全文
posted @ 2020-11-29 21:59 福大大架构师每日一题 阅读(124) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-28: 源码位于runtime/map.go文件中的mapassign函数。 info["name"]="福大大" bilibili视频里的步骤:[答案来自此链接](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=11)3.结合哈希 阅读全文
posted @ 2020-11-28 22:44 福大大架构师每日一题 阅读(119) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-27:[答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=12)源码位于runtime/map.go文件中的mapaccess1函数和mapaccess2函数。value:=info["name"]1.结合哈希因子 阅读全文
posted @ 2020-11-27 21:59 福大大架构师每日一题 阅读(105) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-26: [答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=10)源码位于runtime/map.go文件中的makemap函数。1.创建一个hmap结构体对象。2.生成一个哈希因子hash0并赋值到hmap对象中 阅读全文
posted @ 2020-11-26 20:41 福大大架构师每日一题 阅读(123) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-25: 简单回答:hmap映射头、bmap桶、mapextra溢出额外信息 中级回答: // 映射头 type hmap struct { // Note: the format of the hmap is also encoded in cmd/compile/inter 阅读全文
posted @ 2020-11-25 22:04 福大大架构师每日一题 阅读(184) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-24: 背包问题:背包容量是SUM/2. 每个物体的体积是数的大小,然后尽可能的装满背包。 golang代码如下: package main import ( "fmt" ) //https://blog.csdn.net/qq_26222859/article/detail 阅读全文
posted @ 2020-11-24 21:57 福大大架构师每日一题 阅读(425) 评论(0) 推荐(0) 编辑
摘要:福个答案2020-11-23:Golang 的字符串(string)是合法的 UTF-8 序列,这就涉及到了两种不同的遍历方式,一种是按照 Unicode 的 codepoint 遍历,另一种是把 string 视为 []byte,按照字节遍历。s是UTF-8 序列,所以在相同字符个数下,字节数不固 阅读全文
posted @ 2020-11-23 21:42 福大大架构师每日一题 阅读(304) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-22:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/412)如果mysql在排序的时候没有使用到索引那么就会输出 using filesort。filesort有两种实现1.一遍扫描一遍扫描数据后将select需要的列数据以 阅读全文
posted @ 2020-11-22 20:31 福大大架构师每日一题 阅读(134) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-21: [答案来自此链接:](http://bbs.xiangxueketang.cn/question/404) 跨代引用常出现与 CMS 分代收集时需要使用可达性分析判断对象是否存活,JVM将堆内存分为 年轻代、老年代、永久代||元空间,跨代引用就是年轻代对象可能会引用老 阅读全文
posted @ 2020-11-21 22:21 福大大架构师每日一题 阅读(284) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-20:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/391)1、首先,CMS是一个关注停顿时间,以回收停顿时间最短为目标的垃圾回收器。并发预处理阶段做的工作是标记,重标记需要STW(Stop The World),因此重标记 阅读全文
posted @ 2020-11-20 22:03 福大大架构师每日一题 阅读(444) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-19:- - 什么是defer - defer是go语言提供的一种用于注册延迟调用的机制:让函数或者语句在当前函数执行完毕(包括return正常结束或者panic导致的异常结束)之后执行。 - defer语句通常用于一些成对的操作场景,打开/关闭连接,加锁/解锁,打开文件/关 阅读全文
posted @ 2020-11-19 22:20 福大大架构师每日一题 阅读(159) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-18: HotSpot 虚拟机提供了-XX:PretenureSizeThreshold 参数,指定大于该设置值的对象直接在老年代分配,这样做的目的就是避免在 Eden 区及两个 Survivor区之间来回复制,产生大量的内存复制操作。这样做的目的:1.避免大量内存复制,2. 阅读全文
posted @ 2020-11-18 21:28 福大大架构师每日一题 阅读(1040) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-17:对于吞吐量优先的场景,就只有一种选择,就是使用 PS 组合(Parallel Scavenge+Parallel Old )。对于响应时间优先的场景,在 JDK1.8 的话优先 G1,其次是 CMS 垃圾回收器,另外还有PN、ZGC、Shenandoah。 阅读全文
posted @ 2020-11-17 21:08 福大大架构师每日一题 阅读(271) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-16: ①排序。按照【身高】降序排列。如果【身高】一样,按照【人数】升序排列。②插入。遍历这个队列,按照【人数】插入相应位置。 采用leetcode里的代码,golang代码如下: func reconstructQueue(people [][]int) (ans [][] 阅读全文
posted @ 2020-11-16 21:09 福大大架构师每日一题 阅读(462) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-15: 此题来源于leetcode240和剑指 Offer(第 2 版)面试题4。1.线性查找。从二维数组的坐下角开始查找。如果当前元素等于目标值,则返回 true。如果当前元素大于目标值,则上移。如果当前元素小于目标值,则右移。2.线性查找+二分查找。当前元素上移和右移,采 阅读全文
posted @ 2020-11-15 22:33 福大大架构师每日一题 阅读(113) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-14: 环形数组即可实现。数组,pull序号,pop序号,长度,容量,需要保存这些信息。 golang代码如下: package main import ( "errors" "fmt" ) /* 怎么用数组实现不超过固定大小的队列? 队列:环形数组 */ func main 阅读全文
posted @ 2020-11-14 20:41 福大大架构师每日一题 阅读(129) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-13: 二分法。有时候数组无序,同样可以采用二分法。这道题考察的是全局观,左边下降趋势,右边上升趋势,函数图像呈凹形,必有极小值。中左值和中值呈上升趋势,中值右边可以直接舍弃;中值和中右值呈下降趋势,中值左边可以直接舍弃。 golang代码如下: package class0 阅读全文
posted @ 2020-11-13 20:56 福大大架构师每日一题 阅读(137) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-12: as-if-serial语义单线程执行结果不被改变。happen-before语义正确同步的多线程执行结果不被改变。***这道题网上已经说烂了,就不必重复了。[happens-before 规则](https://blog.csdn.net/liu_dong_lian 阅读全文
posted @ 2020-11-12 22:17 福大大架构师每日一题 阅读(147) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-11: 1.遍历法。无代码。2.二分法。二分查找元素,然后二分查找左边界,再查找右边界,最后右边界减去左边界就是指定元素个数。这道题实际上是如下三道题的综合。1) 在一个有序数组中,找某个数是否存在 。2) 在一个有序数组中,找>=某个数最左侧的位置 。3) 在一个有序数组中 阅读全文
posted @ 2020-11-11 21:06 福大大架构师每日一题 阅读(141) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-10: reflect.ValueOf(接口变量).IsNil(),用这个即可判断。对于值类型,会panic。两种方法如下:1.异常判断:recover捕获。2.类型判断:reflect.ValueOf(接口变量).Kind()获取类型。 golang代码如下: packag 阅读全文
posted @ 2020-11-10 22:25 福大大架构师每日一题 阅读(332) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-09: 相同点:都是过滤器。 不同点:算法:布隆过滤器多个hash函数。布谷鸟过滤器用布谷鸟哈希算法。能否删除:布隆过滤器无法删除元素。布谷鸟过滤器可以删除元素,有误删可能。空间是否2的指数:布隆过滤器不需要2的指数。布谷鸟过滤器必须是2的指数。空间利用率:相同误判下,布谷鸟 阅读全文
posted @ 2020-11-09 22:16 福大大架构师每日一题 阅读(469) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-08: 会走索引,原因是mysql优化器会把BAC优化成ABC。 CREATE TABLE `t_testabc2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `A` varchar(255) NOT NULL, `B` varchar( 阅读全文
posted @ 2020-11-08 22:00 福大大架构师每日一题 阅读(1157) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-07: 1.哈希法。2.排序+双指针夹逼。 golang代码如下: package main import ( "fmt" "sort" ) const INT_MAX = int(^uint(0) >> 1) func main() { nums := []int{2, 1 阅读全文
posted @ 2020-11-07 22:43 福大大架构师每日一题 阅读(141) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-06:·MPG模型:goroutine的并发模型可以归纳为MPG模型;·MPG概念:线程(machine,系统线程,物理线程)-内核(processor)-协程(goroutine,用户线程,逻辑线程);·多对多调度模型:整体调度遵循多对多模型,多个协程(约百万级)同时调度在 阅读全文
posted @ 2020-11-06 21:34 福大大架构师每日一题 阅读(109) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-05: 所谓拥塞控制,是指防止过多的数据注入网络,保证网络中的路由器或链路不致过载。出现拥塞时,端点并不了解到拥塞发生的细节,对通信连接的端点来说,拥塞旺旺表现为通信时延的增加。当然,拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数据的速率来达到控制效果。 拥塞 阅读全文
posted @ 2020-11-05 21:42 福大大架构师每日一题 阅读(10) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-04: 福哥口诀法:收马李色坤(Collection、Map、List、Set、Queue)。李矢数链写(List:Vector矢量、ArrayList数组、LinkedList链表、CopyOnWriteList写时复制容器)。哈排枚写并(Set:HashSet哈希集、So 阅读全文
posted @ 2020-11-04 22:05 福大大架构师每日一题 阅读(150) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-03: 1.输入链表头节点,奇数长度返回中点,偶数长度返回上中点 。1.1.快慢指针。1.2.单指针。1.3.数组。2.输入链表头节点,奇数长度返回中点,偶数长度返回下中点 。这道题是leetcode上的第876道题,叫【链表的中间节点】。2.1.快慢指针。2.2.单指针。2 阅读全文
posted @ 2020-11-03 23:23 福大大架构师每日一题 阅读(175) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-02: 打印空字符串。s:=make([]string,10),s中已经有10个元素,append元素,s就有11个元素了。前10个元素没初始化,就是10个空字符串,最后1个字符串是test。 golang代码如下: package main import "fmt" fun 阅读全文
posted @ 2020-11-02 20:28 福大大架构师每日一题 阅读(158) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-01: 1.是否是同一个变量:带move闭包,函数外和函数内的同名变量不是同一个变量。不带move闭包,函数外和函数内的同名变量是同一个变量。2.执行完闭包后:带move闭包,使用闭包变量会产生【error[E0382]: borrow of moved value: `p` 阅读全文
posted @ 2020-11-01 22:51 福大大架构师每日一题 阅读(332) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-11-01:SynchronousQueue:线程A使用put将数据添加到队列,如果没有其他线程使用take去获取数据,那么线程A阻塞,直到数据被其他线程获取,同理 如果线程B从队列中获取数据为空,被阻塞,等待线程添加数据。 LinkedTransferQueue:LinkedTr 阅读全文
posted @ 2020-11-01 22:50 福大大架构师每日一题 阅读(189) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示