腾讯云智秋招一面,疑似凉经,实际未凉经
25min 结束,没手撕,没问项目,八股也简单。面经如下:
1. 你在实习期间主要负责哪些工作?
2. AutoMQ 对 Kafka 的优化做了哪些工作?
3. 你对TCP和UDP的理解?
4. 你对Java中的volatile关键字的理解?
5. 你如何实现分布式锁?
6. 你对Bloom Filter的理解?
7. 你在Linux环境中常用哪些命令?
8. 你是否有其他的面试流程?
就很奇怪,这还是秋招吗?是不是不想要我。
---
附上 gpt 回答:
1. 你对TCP和UDP的理解?
TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常见的传输层协议。
TCP:
连接导向:TCP是面向连接的协议,需要在数据传输前建立连接(三次握手)。
可靠传输:TCP提供可靠的数据传输,通过确认机制、重传机制、序列号等确保数据的完整性和顺序。
流量控制:TCP有流量控制和拥塞控制机制,确保网络不被过载。
应用场景:适用于需要高可靠性的应用场景,如HTTP、FTP、SMTP等。
UDP:
无连接:UDP是无连接的协议,不需要建立连接,直接发送数据。
不可靠传输:UDP不保证数据的到达和顺序,不提供重传机制。
低开销:UDP头部开销小,传输速度快。
应用场景:适用于对实时性要求高但可以容忍数据丢失的场景,如视频直播、在线游戏、DNS查询等。
2. 你对Java中的volatile关键字的理解?
可见性:volatile关键字保证了变量在多个线程之间的可见性。当一个线程修改了volatile变量的值,新的值对于其他线程是立即可见的。
禁止指令重排序:使用volatile关键字会禁止编译器和处理器对其进行指令重排序,确保代码执行的顺序与程序逻辑顺序一致。
不保证原子性:volatile关键字并不保证对变量操作的原子性。如果需要保证原子性,需要使用同步机制(如sychronized或Atomic类)。
3. 你如何实现分布式锁?
实现分布式锁的方法有多种,常见的有基于数据库、基于Redis和基于Zookeeper等。
基于Redis:
使用Redis的SETNX(SET if Not eXists)命令来实现分布式锁。可以通过设置一个带有过期时间的键来实现锁。
例如,使用SET resource_name my_random_value NX PX 30000设置一个30秒的锁。
解锁时,需要确保只有持有锁的客户端才能删除锁:if redis.call("GET", KEYS[1]) == ARGV[1] then return redis.call("DEL", KEYS[1]) else return 0 end
基于Zookeeper:
使用Zookeeper的临时节点(Ephemeral Node)来实现分布式锁。每个客户端尝试创建一个临时节点,如果创建成功则获得锁。
通过监听节点的变化来实现锁的自动释放,当持有锁的客户端崩溃时,临时节点会被自动删除,其他客户端可以重新尝试获取锁。
4. 你对Bloom Filter的理解?
概念:Bloom Filter是一种空间效率非常高的概率数据结构,用于测试一个元素是否属于一个集合。它可以快速判断一个元素是否“可能存在”或“肯定不存在”。
特点:
空间效率高:Bloom Filter使用位数组和多个哈希函数来存储数据,空间效率比传统的哈希表高。
存在误判:Bloom Filter可能会出现假阳性,即某个元素实际上不在集合中,但Bloom Filter判断它可能存在。不过,Bloom Filter不会出现假阴性。
不可删除:一旦元素被添加到Bloom Filter中,就无法删除,因为删除操作会影响其他元素的判断。
应用场景:适用于需要高效判断元素是否存在的场景,如缓存过滤、垃圾邮件检测、区块链中的交易检测等。
5. 你在Linux环境中常用哪些命令?
在Linux环境中,常用的命令包括但不限于以下几类:
文件和目录操作:
ls:列出目录内容
cd:切换目录
cp:复制文件或目录
mv:移动或重命名文件或目录
rm:删除文件或目录
mkdir:创建目录
touch:创建空文件或更新文件时间戳
文件内容查看和编辑:
cat:显示文件内容
more/less:分页查看文件内容
head/tail:查看文件的开头或结尾内容
vim/nano:编辑文件
系统管理:
ps:查看当前进程
top:实时显示系统资源使用情况
kill:终止进程
df:查看磁盘空间使用情况
du:查看目录或文件的磁盘使用情况
网络操作:
ifconfig/ip:查看和配置网络接口
ping:测试网络连通性
netstat:查看网络连接和端口
ssh:远程登录
scp:安全复制文件
权限管理:
chmod:修改文件权限
chown:修改文件所有者
sudo:以超级用户权限执行命令
#面试##腾讯云智##腾讯求职进展汇总#
1. 你在实习期间主要负责哪些工作?
2. AutoMQ 对 Kafka 的优化做了哪些工作?
3. 你对TCP和UDP的理解?
4. 你对Java中的volatile关键字的理解?
5. 你如何实现分布式锁?
6. 你对Bloom Filter的理解?
7. 你在Linux环境中常用哪些命令?
8. 你是否有其他的面试流程?
就很奇怪,这还是秋招吗?是不是不想要我。
---
附上 gpt 回答:
1. 你对TCP和UDP的理解?
TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常见的传输层协议。
TCP:
连接导向:TCP是面向连接的协议,需要在数据传输前建立连接(三次握手)。
可靠传输:TCP提供可靠的数据传输,通过确认机制、重传机制、序列号等确保数据的完整性和顺序。
流量控制:TCP有流量控制和拥塞控制机制,确保网络不被过载。
应用场景:适用于需要高可靠性的应用场景,如HTTP、FTP、SMTP等。
UDP:
无连接:UDP是无连接的协议,不需要建立连接,直接发送数据。
不可靠传输:UDP不保证数据的到达和顺序,不提供重传机制。
低开销:UDP头部开销小,传输速度快。
应用场景:适用于对实时性要求高但可以容忍数据丢失的场景,如视频直播、在线游戏、DNS查询等。
2. 你对Java中的volatile关键字的理解?
可见性:volatile关键字保证了变量在多个线程之间的可见性。当一个线程修改了volatile变量的值,新的值对于其他线程是立即可见的。
禁止指令重排序:使用volatile关键字会禁止编译器和处理器对其进行指令重排序,确保代码执行的顺序与程序逻辑顺序一致。
不保证原子性:volatile关键字并不保证对变量操作的原子性。如果需要保证原子性,需要使用同步机制(如sychronized或Atomic类)。
3. 你如何实现分布式锁?
实现分布式锁的方法有多种,常见的有基于数据库、基于Redis和基于Zookeeper等。
基于Redis:
使用Redis的SETNX(SET if Not eXists)命令来实现分布式锁。可以通过设置一个带有过期时间的键来实现锁。
例如,使用SET resource_name my_random_value NX PX 30000设置一个30秒的锁。
解锁时,需要确保只有持有锁的客户端才能删除锁:if redis.call("GET", KEYS[1]) == ARGV[1] then return redis.call("DEL", KEYS[1]) else return 0 end
基于Zookeeper:
使用Zookeeper的临时节点(Ephemeral Node)来实现分布式锁。每个客户端尝试创建一个临时节点,如果创建成功则获得锁。
通过监听节点的变化来实现锁的自动释放,当持有锁的客户端崩溃时,临时节点会被自动删除,其他客户端可以重新尝试获取锁。
4. 你对Bloom Filter的理解?
概念:Bloom Filter是一种空间效率非常高的概率数据结构,用于测试一个元素是否属于一个集合。它可以快速判断一个元素是否“可能存在”或“肯定不存在”。
特点:
空间效率高:Bloom Filter使用位数组和多个哈希函数来存储数据,空间效率比传统的哈希表高。
存在误判:Bloom Filter可能会出现假阳性,即某个元素实际上不在集合中,但Bloom Filter判断它可能存在。不过,Bloom Filter不会出现假阴性。
不可删除:一旦元素被添加到Bloom Filter中,就无法删除,因为删除操作会影响其他元素的判断。
应用场景:适用于需要高效判断元素是否存在的场景,如缓存过滤、垃圾邮件检测、区块链中的交易检测等。
5. 你在Linux环境中常用哪些命令?
在Linux环境中,常用的命令包括但不限于以下几类:
文件和目录操作:
ls:列出目录内容
cd:切换目录
cp:复制文件或目录
mv:移动或重命名文件或目录
rm:删除文件或目录
mkdir:创建目录
touch:创建空文件或更新文件时间戳
文件内容查看和编辑:
cat:显示文件内容
more/less:分页查看文件内容
head/tail:查看文件的开头或结尾内容
vim/nano:编辑文件
系统管理:
ps:查看当前进程
top:实时显示系统资源使用情况
kill:终止进程
df:查看磁盘空间使用情况
du:查看目录或文件的磁盘使用情况
网络操作:
ifconfig/ip:查看和配置网络接口
ping:测试网络连通性
netstat:查看网络连接和端口
ssh:远程登录
scp:安全复制文件
权限管理:
chmod:修改文件权限
chown:修改文件所有者
sudo:以超级用户权限执行命令
#面试##腾讯云智##腾讯求职进展汇总#
全部评论
1009更新,问了 hr 说是面试官没提交面评。然后催了一下,半小时就变成复试了
kpi
哪里的base啊
第一次见25min的
二面了吗佬
相关推荐