去面试Java后台开发,Java多线程,JVM,Spring 全都没问……
点赞 评论

相关推荐

10-01 19:39
已编辑
东北大学 Java
点赞 评论 收藏
分享
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:以超级用户权限执行命令#面试##腾讯云智##腾讯求职进展汇总#
牛牛不会牛泪:1009更新,问了 hr 说是面试官没提交面评。然后催了一下,半小时就变成复试了
点赞 评论 收藏
分享
牛客网
牛客企业服务