大厂 Go 工程师面试题集锦.

字节
1gochannelclose后读的问题
2Linuxgrep命令查找日志文件相关内容
3B+树结构and为什么
4io多路复用,epoll和select的区别
5计网七层协议、线程进程区别
6线程怎么调度
7进程通信方法
8tcp保证可靠性
9goslice和array区别
10GMP模型
11分布式缓存框架,singleflight并发,深挖,一直挖到sync.WaitGroup
12缓存击穿缓存雪崩
13sync.WaitGroup
14cookiesession
15设计学生成绩数据库,并写出查询语文成绩top3的人。
16url输入全过程,从此引出后端除了响应请求还有什么。
17什么是分布式系统
18由上面分布式系统引出负载均衡
19负载均衡算法有哪些
20一致性哈希算法深挖。一致性哈希与普通哈希的区别。
21手撕代码LRU
22手撕代码生产者消费者模型
23手撕代码反转连表
24算法题:三数之和
25session如何存储
26多台服务器session存储怎么设计。除了存redis还能怎么存
27http和https区别
28https详细过程
29getpost区别。还有什么其他方法。分别说说是做什么的。
30web安全问题。
设计一个短链接服务。如何抗住大qps,抗大流量。
31
url哈希函数怎么设计(怎么存,怎么统计qps)
腾讯
1tcp和udp的特性,tcp三次握手、四次挥手
http2.0了解吗?和http1.1的差距?

3反爬了解吗?反爬的几项技术在项目里面怎么实现的?
4项目部署的服务器是单机的,请问如果是大流量高并发请求服务器怎么处理?
5数据结构:常用排序算法,快排、堆排的原理和实现。
6算法:topK,时间复杂度
7如果是亿级数据怎么处理?
8b树b+树区别
9tcp可靠性,然后问十六位校验和怎么实现的
10TCP粘包
11进程协程线程
12跳表怎么实现
13go的调度
14gostruct能不能比较?
15godefer(fordefer)
16select可以用于什么?
17context包的用途?
18client如何实现长连接?
19主协程如何等其余协程完再操作
20slice,len,cap,共享,扩容
21map如何顺序读取?
22实现set
23实现消息队列(多生产者,多消费者)
24大文件排序
25基本排序,哪些是稳定的
26httpget跟head
27http401,403
28httpkeep-alive
29http能不能一次连接多次请求,不等后端返回
30tcp与udp区别,udp优点,适用场景
31time-wait的作用
32数据库如何建索引
33孤儿进程,僵尸进程
34死锁条件,如何避免
35linux命令,查看端口占用,cpu负载,内存占用,如何发送信号给一个进程
36git文件版本,使用顺序,merge跟rebase
37项目实现爬虫的流程
38爬虫如何做的鉴权吗?
39怎么实现的分布式爬虫
40电商系统图片多会造成带宽过高,如何解决?
41micro服务发现
42mysql底层有哪几种实现方式
43channel底层实现
44javanio和go区别
45读写锁底层是怎么实现的?
46go-micro微服务架构怎么实现水平部署的,代码怎么实现?
47micro怎么用
48怎么做服务发现的
49mysql索引为什么要用B+树?
50mysql语句性能评测?
51服务发现有哪些机制
52raft算法是那种一致性算法
53raft有什么特点
54当go服务部署到线上了,发现有内存泄露,该怎么处理
55https握手,为什么需要非对称加密和对称加密
金山wps
1PHP-FPM
CGI是一个WebServer与CGI程序之间进行数据传输的协议,保证传递的是标
2
准数据
3PHP-CGI是PHP解析器(CGI程序)
FastCGI是用来提高CGI程序性能的方案/协议。FastCGI会先启动一个
master,解析配置文件,初始化执行环境,然后再启动多个worker。当请求过
4
来时,master会传递给一个worker,然后立即可以接收下一个请求,避免重复
劳动,提高效率
5PHP-FPM是实现FastCGI的程序
6PHP和Go对比
7MVC模式
8MySQL优化(索引、分表分库)
9浏览器地址栏输入网址整个过程
10TCP三次握手和四次挥手
11Linux相关(介绍了一下基本操作命令)
12Docker相关
13Git相关
14开发环境(Windows、Linux)
15CI/CD发布流程
16HTTP长连接(HTTP1.1版本)
17腾讯音乐
18TCP拥塞控制(快速恢复、快速重传)
19从面向连接的特性回答
20UDP实现可靠连接
21从TCP可靠连接特性回答
22四、MySQL数据库
23MySQL索引数据结构
24索引为什么使用B+树
26为什么不使用Hash结构
27like模糊查询
28范围查询
29结合事务隔离级别
30Go语言相关
31slice和array区别
32向为nil的channel发送数据会怎么样
33map取一个key,然后修改这个值,原map数据的值会不会变化
34根据map存储的类型回答
35for循环遍历slice有什么问题
36Go闭包
37进程、线程、协程区别
38技术相关
39输入URL发生的整个网络过程
40Redis怎么保证数据一致性
41TCP流量控制、拥塞控制
42TCP半连接队列
43TCP半关闭状态
44TCPTIME_WAIT状态
45内核态、用户态
46Hash实现、冲突解决、应用
47快速排序
48堆排序
49大小堆
51100枚硬币,其中有一枚硬币重量不一样,用天平秤怎么快速找到这一枚硬币
跟谁学
1说一下Redis中HashMap的实现(双table,渐进式rehash,扩容条件,缩容条
件,bgsave,CopyOnWrite机制)
2扩容过程中有新的请求流程
3Redis其他的数据结构(SDS,RAW,INTSET,ZIPLIST,SKIPLIST,QUICKLIST)
4跳表的实现?
5Redis的定时任务怎么实现的?
6订单服务过期是怎么设计的(RabbitMQ死信队列)
百度
1数据库问题,给你10个数据库服务器,每个只能接500的qps,现在要实现
4000qps,要怎么做?说用负载均衡,使用binlog保证10个服务器的数据一致

2如果有有读有写,如何实现高并发,数据库读写分离
对于两个写库,两个请求向分别打到两个写库中,他们互相向对方同步,会不会
3
出现不一致,
4哈希的实现有哪几种,如何取hashcode,冲突检测几种方法
5用过go,那么进程,协程,线程各自的优缺点
6算法题z遍历二叉树,循环有序数组找指定值,
71.事务是怎么实现的?(undo_log,MVCC)
8mongodb和redis的区别
9请你说说golang的CSP思想
10go内存逃逸分析(分析了栈帧,讲五种例子,描述堆栈优缺点,点头)
11是否有逃逸分析过
12deferrecover的问题
mysql索引慢分析(线上开启slowlog,提取慢查询,然后仔细分析explain中
13
tye字段以及extra字段,发生的具体场景及mysql是怎么做的

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《互联网大厂Java工程师面试题.pdf》是一份面试题集合,主要用于考察Java工程师的技术水平和编程能力。这份面试题可能涵盖了Java基础知识、面向对象编程、多线程与并发、网络编程、数据库操作等方面的内容。 在面对这份面试题时,Java工程师需要对Java语言的特性和使用有深入的了解,能够熟练使用Java的各种关键字、数据类型、流程控制语句等。此外,还需要了解Java的面向对象编程思想,熟悉封装、继承、多态等概念,并能够运用这些知识进行编程。 同时,Java工程师还需要对多线程与并发编程有一定的了解,知道如何创建和管理线程、同步和互斥等操作,以及如何处理线程安全的问题。 在网络编程方面,Java工程师需要掌握Socket编程、HTTP协议等知识,能够实现客户端和服务器之间的数据交互。 对于数据库操作,Java工程师需要熟悉SQL语言,能够运用JDBC等技术与数据库进行交互,实现数据的增删改查等常见操作。 在回答这些面试题时,Java工程师需要清晰、准确地表达自己的思路和解决方案,并且能够合理地优化代码,具备较强的编程和逻辑思维能力。 最后,Java工程师还需要注重实践和项目经验的积累,在实际的开发项目中不断学习和实践,提升自己的技术水平。同时,要关注行业的最新动态,并积极参与学习和交流,保持对新技术的敏感度和学习能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值