网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
梭翱信息技术
- go语言特性(channel、map考察)
- 讲一下waitgroup的使用
- 知道模块化缓存吗?
- 知道分级缓存吗?
主要是一些缓存的应用场景为主。对于一些技术(redis、mq)的应用场景这部分比较欠缺
矢安科技
- 哪些数据结构是线程不安全的
- Map为什么是线程不安全的
- Channel阻塞可以实现什么场景(计数,令牌桶)
- Mysql什么时候是行所什么时候是表锁
- Mysql有几种错误读(脏读、幻读等等)
- Mysql默认事务隔离级别是什么
- 假如有个sql联了多个表还有字查询,改怎么优化
- 你平常是怎么优化mysql的
- Kafka为什么快?
- Kafka怎么实现消息不丢失
- Kafka是顺序写还是随机写
- Go协程是怎么扩展内存的(找P要)
- 讲一下你对docker和k8s的理解
- 说一下某种集群的leader选举策略(举例了redis)
- Redis中什么是主管下线,什么是客观下线。
- 聊一聊你对GRPC的理解。
- 为什么gprc传输比JSON快
- 少了json转为2进制
- protobuf文件中字段名用后面的数字代替,进一步减少数据量(学到了)
场景题:
- 假如有大量定时任务需要在凌晨1点都准时开始执行,你会怎么做
- 假如消息发送过多导致大量堆积怎么处理
华苏科技(国家电网外包)
项目拷打(介绍项目+遇到的难题)
- 有缓冲channel和无缓冲channel的区别
- 了解gin的中间件吗,讲一下你对他的了解
- select 满足多个case的时候怎么执行的。
- 如果有一个全局变量怎么保证并发安全。
- CPU高问题如何解决?
- 知道哪些设计模式?
场景题:
我有一个方法,用来存储一些文件资源,有多种不同的存储方式,你会怎么设计这个方法(应该是要考察泛型的使用)
爱可生
面试官说是go开发,但是没有什么技术原理提问。
介绍简历中的项目。
- 遇到的项目场景难题。
(他不太想听那种用技术选型方案来解决的常规问题,吹了一下systemtap)
- 讲一个技术栈中随便一个技术遇到的难题。
- 平时是怎么学习的。
整个面试几乎就没有技术性提问,一直在让我介绍项目,和遇到的问题以及我是怎么解决的,解决的思路是什么。
特斯拉外包笔试
题1
题2
题3
最后一道sql没写出来。但是前两题自测都对
成都美大
项目拷打
- 讲一下mysql的索引是什么结构
- 讲一下sql一般是怎么优化的
- Kafka消息堆积怎么处理
- 写一个方法的时候是传值好还是结构体好
场景题:
秒杀超卖怎么解决。(分布式锁+redis缓存)
矢安科技二面
一面的技术leader,没有聊太多的技术话题。主要是一些团队协作沟通上的问题
- 假如产品给你一个需求,你觉得不合适,和产品经理有冲突,你会怎么做?
- 你平时是怎么学习的?
- 假如给你一个活要求某个时间内快速完成,你又没学过,你会怎么做?
试探你是不是愿意加班
七云网络
笔试
三道程序解答题:
题1
问1
先输出哪个?
题2
问2
输出什么?
题3
问3
这段代码有什么问题?
问答题:
- TCP和http的关系是什么?
- 伪代码描述一下乐观锁
- Linux怎么看磁盘占用?
- 描述一下GC的过程?
- SQL题:写出薪资第二高的薪资
表emp
id int
salary int
算法:
力扣 : 20. 有效的括号(纸上纯手写)
面试
挨个问笔试的问题。。。
口述了两个方法for循环里操作channel之类的,但是他语言组织的我实在没听懂。。。
- 假如有一个高并发的场景,我怎么处理(不能借住其他组件,纯go程序)
然后mq问了两个迷一样的问题。
- 他提到了Kafka然后问我用的什么MQ,我说Kafka就是一种mq啊。感觉面试官不是很熟悉Kafka
- 接着他问我Kafka里的分组是怎么设置的,我以为他问的是消费者分组。结果他说是topic里的。结果他问的分组是Topic分区。。。
这家就别去了。面试流程很不合理,面试官沟通起来比较费劲,也不是很专业。
杉岩数据
项目拷打
其中问了为什么不用普罗米修斯去监控
- 假如你用于通知的Kafka挂了怎么办?有没有对Kafka进行监控?
- channel的使用场景?
- chaneel关闭之后再读和再关闭会发生什么?
- map中的数据delete之后内存会回收吗?
- GRPC请求和http请求有什么区别
腾娱
四道基础语法题
c := []int{11, 12, 13}
test(c)
log.Info("c=%v", c)
func test(s []int) {
for i := 0; i < 10; i++ {
s = append(s, i)
}
}
- c最后是怎么样的?
func main() {
values := []int{1,2,3,4,5,6,7,8,9}
for _,v := range values {
![img](https://img-blog.csdnimg.cn/img_convert/19d5cc72357eff0bf1dc49eb5d9f3c47.png)
![img](https://img-blog.csdnimg.cn/img_convert/6c7f4764bdec071aa65b4aad8e716d4b.png)
![img](https://img-blog.csdnimg.cn/img_convert/847549e666ee8bdd664093b4525476f3.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**
values {
[外链图片转存中...(img-rD1tFS3v-1715831987088)]
[外链图片转存中...(img-ZiZ26Cuz-1715831987089)]
[外链图片转存中...(img-v37ucY3H-1715831987089)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**