一直以为是一个动漫的形象,结果居然是一个主持人样子的 ai,没遇到看别的牛油说的卡顿延迟问题。题目比较常见,随便答的,在实习,都忘完了,估计没戏了,早知道再往后拖一下。
听说有换题的机会,我第五题换了两次,其他题目都没换。 这个 AI 居然会根据你的提问进行反问,有点高级的,而且还能总结出我说的一大堆乱七八糟的东西。
选择题 选 java
问答题
- DHCP 的作用和原理
- linux当中管道符和重定向的作用
- 重载和重写是什么,区别?
- 构造函数是什么,构造函数能够重写和重载吗,区别是什么
- Java中的函数式接口是什么?匿名类是什么?
- 应该是下面那个题库系统设计的问题
大题
最后两题是什么类型来着,忘了,都追问了,差点没时间答
而且我印象中问的好像不止两题,有可能是其中的题库系统是问答题里面问的?
- 设计一个题库系统,你会怎么设计,用来管理题目(原话不是这,反正就是设计)
- 追问:数据库的设计这块,你怎么保证数据扩展性和一致性
- 你平常会怎么学习新技术,有哪些渠道,效果如何?
- 追问:你能说说学习开源项目具体是怎么学的吗,根据你学习的方法?
- 你实习和做项目时遇到过什么难点,你会通过什么方式解决?
- 追问:你能说说你具体是怎么快速了解公司项目以及上手需求开发的吗?
最后其实没怎么回答,看时间快没了,剩 20 秒的时候交了。
---
附上 GPT 回答:
参考回答
DHCP 的作用和原理作用:
- DHCP(动态主机配置协议)用于自动分配IP地址及其他网络配置参数(如网关、DNS服务器等)给网络中的设备,简化网络管理。
- 原理:DHCP服务器在网络中监听客户端的请求,当客户端发出DHCP Discover广播时,服务器响应DHCP Offer,客户端选择一个服务器并发送DHCP Request,服务器最后确认并发送DHCP Ack,完成IP地址的分配。
Linux当中管道符和重定向的作用:
- 管道符(|):用于将一个命令的输出作为另一个命令的输入。例如
ls | grep "txt"
,将 ls
命令的输出通过管道传递给 grep
命令。 - 重定向(> 和 <):用于将命令的输出重定向到文件或从文件中读取输入。例如
echo "Hello" > file.txt
将 "Hello" 输出到 file.txt
文件中,cat < file.txt
则从 file.txt
文件中读取输入。
重载和重写是什么,区别?
- 重载(Overloading):在同一个类中,方法名相同但参数列表不同(参数类型或数量不同)的多个方法。
- 重写(Overriding):在子类中重新定义父类中已经定义的方法,方法名、参数列表、返回类型都必须相同。
- 区别:重载发生在同一个类中,重写发生在继承关系的子类中。
构造函数是什么,构造函数能够重写和重载吗,区别是什么
- 构造函数:用于初始化对象的特殊方法,在创建对象时自动调用。
- 重载:构造函数可以重载,即一个类中可以有多个构造函数,只要参数列表不同。
- 重写:构造函数不能被重写,因为构造函数不继承。
Java中的函数式接口是什么?匿名类是什么?
- 函数式接口:一个接口中只有一个抽象方法,可以有多个默认方法或静态方法。常用于Lambda表达式。例子:
Runnable
接口。 - 匿名类:一种没有名字的类,在定义和实例化对象时同时进行,通常用于实现接口或继承类的即席实现。
new Runnable() {
public void run() {
System.out.println("Running");
}
};
设计一个题库系统,你会怎么设计,用来管理题目
- 系统架构:采用微服务架构,分为用户管理服务、题库管理服务、考试服务等。
- 数据库设计:题目表(包含题目ID、题目内容、类型等),答案表(题目ID、答案内容),用户表(用户ID、用户名等),考试记录表(用户ID、题目ID、答案ID)。
- 数据扩展性和一致性:使用分布式数据库和缓存机制(如Redis),采用CAP原则,保证系统的高可用性和一致性。
#Java##面试##美团##面经#