暑期实习——网易互娱一面

一面

1、使用消息队列,如何避免重复消费;
    生产者配置中启用了幂等性,kafka会为每一条消息分配唯一的序列号(Sequence Number)和生产者ID。Broker会拒绝重复的序号,确保同一分区内的消息不重复。消费者处理了消息会正确提交偏移量。
2、mq主从复制,如果主节点挂了之后,会出现什么情况
    主节点Leader挂掉之后,会立即触发选举机制,从该分区的其他从节点中选举一个新的Leader来接管,在选举新的Leader的过程中,可能会出现短暂的延迟,导致消费者和生产者无法正确向分区发送和消费消息,但是一般是短暂的时间几百毫秒或者几秒。如果原来的Leader节点只是暂时的故障,很快恢复,它会重新加入分区,成为Follower节点进行数据同步。如果原来的Leader节点无法回复或者挂掉的时间过长,新的Leader节点将继续承担分区的读写操作,而原来的Leader上未复制到新的Leader的数据可能会丢失。
3、在java类中可以通过反射来访问一类的私有成员吗?
    可以访问,可以通过getDeclaredFields方法获取类中所有声明的字段,包括私有字段,通过设置Field对象的setAccessible(true)方法取消java语言访问检查,从而可以访问并修改私有字段的值。
4、开放题
4.1有两个文件,一个文件A,大小200MB,文件B,大小10G,内存限制是265MB,求所有在文件A不在B的行。
4.2给n个正整数,求最小的k个值,这里面n远大于k
5、从输入一个页面到显示页面的过程
5.1URL查询IP地址是通过什么协议
    DNS协议
5.2DNS是属于什么层的协议
    DNS 属于应用层协议 :DNS 协议运行在 TCP/IP 协议栈的应用层,它使用 UDP 或 TCP 协议进行通信。UDP 通常用于简单的 DNS 查询,因为其速度快且开销小;而 TCP 则用于更复杂的 DNS 操作,如区域传输等。
6、介绍一下操作系统的虚拟地址和物理地址
    虚拟地址:是程序运行时使用的地址空间,由操作系统和硬件共同管理。允许程序在逻辑上独立都物理内存进行编址。使得程序编写和移植更加方便。每个进程都有自己的虚拟地址空间,不同进程的虚拟地址空间是相互隔离的,这样可以保证各个进程的安全性和独立性。物理地址:是计算机实际的内存地址,由内存管理单元MMU负责将虚拟地址映射到物理地址。物理地址是唯一的,用于直接访问物理地址中的数据。操作系统通过页表等结构来维持虚拟地址和物理地址之间的转换。
7、页中断是什么时候发生的
    访问未分配的页面:当进程试图访问一个尚未分配给他的虚拟地址会触发页中断。这可能是因为该页面从未被分配过,或者是因为内存紧张,该页面被操作系统临时调出磁盘交换空间中。权限问题:如果进程试图以不正确的权限访问某个页面,会导致页中断。操作系统会检查页面的访问权限,并在发现委会访问时触发页中断。硬件异常:某些一件故障或者异常情况也可能会导致也终端,例如内存控制器检测到内存错误。
8、linux如何表示文件系统的权限
    符号表示法:r表示读、w表示写、x表示执行
    数字表示:读、写、执行权限分别用数字4,2,1表示
9、linux文件系统中,在一个文件中,查找一个关键字上下10行的一个内容,如何查找
    可以使用grep命令结合上下文参数-A显示匹配行后n行,-B显示匹配行前n行-C显示匹配行前后各n行。
全部评论

相关推荐

评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务