Shopee日常实习一面
#写面经攒人品#
1.说说final关键字
(1)修饰类:不能被继承
(2)修饰方法:不能被重写
(3)修饰成员变量:不能改变
2.抽象类和接口的区别,举例
(1)抽象类是类,“is-a”的关系,用于继承;接口是“like-a”关系,用于实现
(2)抽象类有自己的成员变量和构造方法
3.类可以多继承吗?接口可以多实现吗?
(1)单继承多实现
4.一个类实现两个接口,两个接口有相同的方法,可以吗?
(1)在Java中,如果一个类实现了两个接口,并且这两个接口定义了一个同名的方法,这是完全合法的。这种情况被称为接口方法的“方法冲突”,但实际上不会导致任何冲突问题。执行的都是实现类中的那个 func 方法
5.Http状态码,全部说一下。403?504?
· 1xx(信息性状态码): 请求已接收,继续处理。
· 2xx(成功状态码): 请求成功。
· 3xx(重定向状态码): 需要进一步操作以完成请求。
· 4xx(客户端错误状态码): 请求有误,客户端需做出相应的修改。
· 5xx(服务器错误状态码): 服务器在处理请求时发生了错误
403 Forbidden: 服务器拒绝请求,权限不足;504 Gateway Timeout: 服务器作为网关或代理时未能及时收到响应。
6.说说OSI七层网络模型,数据链路层的作用
(1)应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
(2)帧封装,流量控制,错误检测,介质访问控制MAC
7.TCP和UDP的特点,为什么TCP可靠?
(1)TCP:面向连接,可靠,基于字节流。确认机制
(2)UDP:无连接,不可靠,面向数据报
8.说说IO多路复用,select和epoll的区别和时间复杂度
(1)I/O多路复用是一种高效处理多重I/O事件的机制,它允许一个程序监视多个文件描述符
(2)select遍历集合O(n)
(3)epoll基于事件驱动O(1)
9.讲讲进程和线程
(1)进程是自愿分配的基本单位,线程是CPU调度的最小单位
(2)进程有自己的地址空间,线程共享同一进程的地址空间
(3)进程切换的开销较大,因为需要切换独立的内存地址空间和资源上下文
10.进程通信的方式
(1)管道、消息队列、共享内存、套接字、信号量
11.MySql的索引
(1)主键索引
(2)唯一索引
(3)普通索引
(4)全文索引
(5)联合索引
12.隔离级别和对应的并发问题
13.不可重复读的解决方法
14.介绍项目中各个工具的使用
15.elasticsearch的使用和原理
(1)倒排索引将文档中的每个词汇映射到包含该词汇的文档列表中
(2)分片与副本
16.MinIO的使用和原理
(1)分布式对象存储
17.项目的部署方法
(1)手动部署:打成Jar包在服务器运行
(2)容器化:编写dockerfile运行容器
(3)CI/CD管道
算法:岛屿的数量
1.说说final关键字
(1)修饰类:不能被继承
(2)修饰方法:不能被重写
(3)修饰成员变量:不能改变
2.抽象类和接口的区别,举例
(1)抽象类是类,“is-a”的关系,用于继承;接口是“like-a”关系,用于实现
(2)抽象类有自己的成员变量和构造方法
3.类可以多继承吗?接口可以多实现吗?
(1)单继承多实现
4.一个类实现两个接口,两个接口有相同的方法,可以吗?
(1)在Java中,如果一个类实现了两个接口,并且这两个接口定义了一个同名的方法,这是完全合法的。这种情况被称为接口方法的“方法冲突”,但实际上不会导致任何冲突问题。执行的都是实现类中的那个 func 方法
5.Http状态码,全部说一下。403?504?
· 1xx(信息性状态码): 请求已接收,继续处理。
· 2xx(成功状态码): 请求成功。
· 3xx(重定向状态码): 需要进一步操作以完成请求。
· 4xx(客户端错误状态码): 请求有误,客户端需做出相应的修改。
· 5xx(服务器错误状态码): 服务器在处理请求时发生了错误
403 Forbidden: 服务器拒绝请求,权限不足;504 Gateway Timeout: 服务器作为网关或代理时未能及时收到响应。
6.说说OSI七层网络模型,数据链路层的作用
(1)应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
(2)帧封装,流量控制,错误检测,介质访问控制MAC
7.TCP和UDP的特点,为什么TCP可靠?
(1)TCP:面向连接,可靠,基于字节流。确认机制
(2)UDP:无连接,不可靠,面向数据报
8.说说IO多路复用,select和epoll的区别和时间复杂度
(1)I/O多路复用是一种高效处理多重I/O事件的机制,它允许一个程序监视多个文件描述符
(2)select遍历集合O(n)
(3)epoll基于事件驱动O(1)
9.讲讲进程和线程
(1)进程是自愿分配的基本单位,线程是CPU调度的最小单位
(2)进程有自己的地址空间,线程共享同一进程的地址空间
(3)进程切换的开销较大,因为需要切换独立的内存地址空间和资源上下文
10.进程通信的方式
(1)管道、消息队列、共享内存、套接字、信号量
11.MySql的索引
(1)主键索引
(2)唯一索引
(3)普通索引
(4)全文索引
(5)联合索引
12.隔离级别和对应的并发问题
13.不可重复读的解决方法
14.介绍项目中各个工具的使用
15.elasticsearch的使用和原理
(1)倒排索引将文档中的每个词汇映射到包含该词汇的文档列表中
(2)分片与副本
16.MinIO的使用和原理
(1)分布式对象存储
17.项目的部署方法
(1)手动部署:打成Jar包在服务器运行
(2)容器化:编写dockerfile运行容器
(3)CI/CD管道
算法:岛屿的数量
全部评论
佬在哪投的
相关推荐