go a. GMP ⅰ. 简单讲解一下 ⅱ. 本地队列的数量多少个 ⅲ. golang是否支持抢占式调度?
哪几种场景会进行抢占式调度? a. 怎么保持cpu一直不被协程占用的呢,满足什么条件会退出呢?通过什么方式来进行切换的? ⅳ. g0线程(协程)和m0线程一般都担当什么职责? b. 怎么保持全部协程执行完毕,主协程再退出? c. make和new的区别? d. 进程、线程、协程之间的区别? ⅰ. 为什么线程的上下文切换比进程快很多? ⅱ. 线程的资源分配到哪里? ⅲ. 线程的资源是每个线程独享的吗、还是共享的? e. GMP中本地队列有256个,一个G绑定一个P的时候,跟它的M不是配对的嘛?当他们都绑定之后,在本地最多可以执行多少个g?可以说在p中最多可以存储多少个g来执行?一个p中最多可以存储多少个g?肯定是高于256个,至于多几个,多在什么地方知道吗?本地存储到多少个队列的时候会全局队列里放? f. 当我在执行本地队列里的goroutine的时候,比如说本地队列的256是满的,这个时候我去输出我执行的goroutine,他是全部从本地队列去拿还是会夹杂着全局队列?(限定一下,当我在执行的时候,把goMaxProxy限定为1,打300个goroutine进去,输出的时候会输出到全局队列吗?前256会有全局队列吗) g. GC ⅰ. 说一下GC ⅱ. JAVA的GC用的什么算法 ⅲ. GC在哪几种场景下会触发?
计网 a. http状态码 ⅰ. 4xx
403、404、499 ⅱ. 5xx
502、504、
502、504的区别 b. TCP ⅰ. TCP是怎么保持长链接的?如果用TCP做长链,怎么保持? ⅱ. 长链和短链有什么区别?
tcp的探活(心跳)是多长时间?
go-zero a. 就是我们公司开源的,万俊峰开源的,好未来的 b. 虽然是我们内部的,但是我们不用了 c. 万俊峰今年刚从我们公司离职了,之前是小黑板业务的,后来双减之后小黑板业务停摆,就离职了
redis a. 哪些数据结构 b. set、zest的底层数据结构 ⅰ. 简述一下跳表
在redis中最多向上建多少索引
在向上建冗余层的时候怎么样决定向上是否还有一层,是用什么算法的来决定的?他是多层索引,我这个数据页向上有几层索引是怎么来决定的? c. 集合或者有序集合什么场景用的比较多? ⅰ. 集合类型比较典型的使用场景是标签(tag).例如一个用户可能对音乐感兴趣,另一个用户对新闻感兴趣,这些想去点就是标签.有了这些数据就可以获得喜欢同一个标签的人,以及用户的共同喜好的标签,这些数据对于用户体验来说比较重要. d. 持久化有几种方式 ⅰ. 区别? e. 当redis的内存满了之后会怎么样? f. redis有几种场景会删除他存储的数据?
mysql a. 事务特性 ⅰ. ACID怎么实现的? b. 事务隔离机制有几种?默认的是什么? ⅰ. 幻读出现在哪种隔离级别?会在哪种隔离级别中出现? c. 日志 ⅰ. 有几种?我只说出三种,第四种是真没听过 d. 索引 ⅰ. 有几种索引? ⅱ. 聚簇索引与非聚簇索引的区别? ⅲ. 覆盖索引是什么场景下产生的? ⅳ. 合并索引(merge index)是在什么场景下产生的?这个在项目中是经常使用的 ⅴ. 建索引有什么规范、规则 ⅵ. like能用到索引吗? ⅶ. 怎么确定哪些能走到索引哪些不能走到索引?应该怎样建索引?建索引的规则、规范?
项目 a. 点赞的业务并发问题处理? b. 在哪里加的锁? c. 你加锁是不是限制了自己的并发,来换取数据的一致性? d. 应该用redis、就是我前面问你的集合的场景。一个帖子就是一个集合,谁点过赞,谁就在集合里,集合有个member、有个score,点赞的时间就是score,这样的话我对帖子的所有数据已经提前聚合好,可以最快的速度拿来? 最终落库的时候,可以考虑落,也可以不落