福大大架构师每日一题
福大大架构师每日一题
全部文章
福大大架构师每日一题
归档
标签
去牛客网
登录
/
注册
福大大架构师每日一题的博客
最新面试题,针对高级开发人员和架构师。内容是后端、大数据和人工智能。
全部文章
/ 福大大架构师每日一题
(共1000篇)
2020-12-16:浏览器前进后退功能,不能用现成的函数,你如何实现?
来自专栏
福哥答案2020-12-16: 1.双栈。访问网页:左栈push【新增的页】,右栈清空。后退:左栈pop,右栈push,左栈的元素个数最少为1。前进:右栈pop,左栈push。 2.双向链表+当前页。我面试的时候,说的是这种方案,这是临时想到的方案。访问网页:【新增的页】放在【当前页】的【下一页】位...
java
golang
2020-12-16
3
463
2020-12-15:mysql的回滚机制是怎么实现的?
来自专栏
福哥答案2020-12-15:答案来自此链接:在 MySQL 中,恢复机制是通过回滚日志(undo log)实现的,所有事务进行的修改都会先记录到这个回滚日志中,然后在对数据库中的对应行进行写入。 MySQL的事务是有redo和undo的,redo操作的所有信息都是记录到 redo_log中,也就是...
mysql
2020-12-15
3
438
2020-12-14:mysql中,可重复读是怎么实现的?
来自专栏
福哥答案2020-12-14: 答案来自此链接: 快照读:就是select。MVCC。select * from table ….; 当前读:特殊的读操作,插入/更新/删除操作,属于当前读,处理的都是当前的数据,需要加锁。为了解决当前读中的幻读问题,MySQL事务使用了Next-Key锁。selec...
mysql
2020-12-14
3
421
2020-12-13:用最少数量的线程,每个线程执行for的空循环,把cpu打满了...
来自专栏
2020-12-13:用最少数量的线程,每个线程执行for的空循环,把cpu打满了。如果在for的空循环里添加打印输出函数,会把cpu打满吗?为什么?福哥答案2020-12-13:不会。输出会进行io操作,相对于CPU的速度,这是一个非常缓慢的过程,所以CPU会有机会空闲下来。 评论
java
golang
2020-12-13
3
510
2020-12-12:现场写代码,把CPU打满,java和go都行,并解释为什么。
来自专栏
福哥答案2020-12-12: 现在的电脑一般是多核的,单个for循环cpu是不会打满的。我的电脑是四核八线程的,不管是java还是go,6个for循环就能把cpu打满,4个和5个cpu打不满。为什么是6个线程?现在还不得而知,请直接评论。 golang代码如下: package main imp...
java
golang
2020-12-12
3
462
2020-12-11:多个线程同时写同一个日志文件,为什么相互写的内容不会被覆盖?
来自专栏
福哥答案2020-12-11:答案来自此链接:这是道面试题,可惜我没什么思路,网上找了些答案。如果有更好的答案,请直接评论。1.没看代码前,以为会用到缓存队列+组提交。2.golang的日志源码位于log/log.go中的Output方法。加锁了。3.系统级别。当打开文件并设置了O_APPEND标识...
golang
2020-12-11
3
688
2020-12-10:i++是原子操作吗?为什么?
来自专栏
福哥答案2020-12-10: 不是原子操作。i++分为三个阶段:1.内存到寄存器。2.寄存器自增。3.写回内存。这三个阶段中间都可以被中断分离开。
java
golang
2020-12-10
4
0
2020-12-09:TCP中,慢启动是什么?
来自专栏
福哥答案2020-12-09: 简单回答:乘法增大。 中级回答:cwnd拥塞窗口。rwnd接收窗口。MSS最大报文段长度。ssthresh慢开始门限。使用慢开始算法后,每经过一个传输轮次(即往返时延RTT),拥塞窗口cwnd就会加倍,即cwnd的大小指数式增长。这样,慢开始一直把拥塞窗口cwnd增大...
tcp
网络
2020-12-09
3
514
2020-12-08:TIME_WAIT的等待时间为什么是2MSL?
来自专栏
福哥答案2020-12-08:答案来自此链接:这里假设主动关闭方为A,被动关闭方为B,TIME_WAIT状态是在主动关闭方A接收到主动关闭的FIN报文的ACK报文后,此时被动关闭方B会发出FIN报文,A在收到FIN报文后会发出Last_ack报文。假如A在发出Last_ack报文后,B未能在超时前收...
tcp
网络
福大大
2020-12-08
3
586
2020-12-07:go中,slice的底层数据结构是什么?
来自专栏
福哥答案2020-12-07: 源码位于runtime/slice.go文件中的slice结构体。 type slice struct { array unsafe.Pointer len int cap int } 切片的结构体由3部分构成,Pointer 是指...
golang
福大大
2020-12-07
3
475
首页
上一页
69
70
71
72
73
74
75
76
77
78
下一页
末页