10.27 易购软件 Java开发线下一面
自我介绍和八股拷打:
- 自我介绍;
- 询问大学课程学的最好的科目,熟悉的编程语言,绩点排名,高考成绩,高考数学分数,英语六级情况,软考情况,目前收到的面试情况,是否有考研的打算,是否接收实习+转正;实习后的目标想法;期望的工作地点,原因;
- Java是如何学习的,最早什么时候接触的Java;现在做项目的AI使用情况;
- Java中八种基本数据类型及其包装类;单精度和双精度浮点型在计算机中的存储区别;存储金额等高精度小数的存储BigDecimal;
- 字符串类型,使用,字符串长度计算的API,字符串和字符数组的转换;
- switch-case是否能用字符串判断,if-else等判断语句;while循环,break,continue区别;
- try-catch-finally的使用,和事务如何整合,如何在异常处理语句中手动写一个事务;
- 事务的概念;SpringBoot中事务如何使用的;JDBC中的事务实现;SpringBoot中设计一个验证事务是否失效的场景;
- throw,throws区别,如何使用自定义异常;自定义异常实现/集成?
- Java中有哪些集合;
- Set的概念和性质;实际的一个应用场景;
- 最熟悉的数据,删除表,删除数据,清空表,插入数据的SQL语句实现
- MySQL端口如何改;
- RAG技术的理解;embeding模型,常用的嵌入模型;
- FunctionCalling概念,和MCP的区别;MCP服务是否只能用大模型调用;
- Redis端口号,Redis的两种持久化方式;
- 对前端Vue3是否熟悉;
- 一个计算机由哪几部分组成,存储器的分类,内存的分类,硬盘的硬件,内存和硬盘的区别;
- Docker查看进程的命令,启容器的命令,如何用的Docker;
- git提交,拉取代码的指令;
- Linux指令:tar指令,查找文件,查找进程的指令;
代码手撕:
- 判断素数;
- A,B两个list,其中一个是另一个的子集,求二者集合差值;分析时间复杂度;
- SQL:查找收藏id为5的文章的用户的详细信息;
项目拷打:
- 看英语学习项目的一个实现效果,询问是否独立完成;
- Netty是否是自己完成;
- Debug发布文章的后端接口详细代码和业务流程实现,为啥用Post请求,和Get请求的区别;
- RequestBody/RequestMapping等注解介绍;
- ThreadLocal存用户信息的逻辑实现;
- 倒排索引的搜索引擎技术思路实现,这个思路是否是自己想到的;
- 分析一个具体的插入SQL语句的区别,分析两种SQL写法的优势和劣势;
- 为啥SQL中用的#,SQL中的selectKey是干啥用的,接收到这个ID是如何做的;
- 分析收藏文章接口的详细代码实现,只传文章ID和传文章ID+用户ID+具体操作两种写法的优劣区别;从技术和业务多角度分析;收藏逻辑为什么不作为一个事务实现;
- Netty底层如何实现的,如何搭建的架构,NIO底层如何实现的,IO多路复用如何实现的;
- 项目做了多久,版本迭代情况;
- 工程碳排放系统的情况介绍;
- 项目中MinIO使用情况,数据库和OSS如何分离存储的,文件如何处理的;
- 数据库中存的一些文件存储链接失效了,但是MinIO中的文件没有删除,会导致什么情况;MinIO会持续堆积文件会导致的现象?如何去解决这种问题,如何删除minio中对应的文件,找到对应的文件;
闲聊+反问:
- 预计到岗时间,学校实训是否可以协商;
- 期望薪资,如何得到的这个数据;具体的济南的薪资行情;
- 询问实习转正情况,实习时间,转正率;
- 询问公司业务情况;
- 对智慧交通业务的理解,高速公路收费等(公司业务的稳定性);
- 反问公司技术栈使用情况;
- 领导或导师如何评价你自己的优点和缺点;
- 举例说明为什么认为自己环境适应力强;
- 对加班和出差的看法;
- 你现在入职一家公司会看重公司的哪个方面;
- 3-5年后自己打算往哪个方向发展;
- 在现在AI发展之下,相较于AI你觉得自己有哪些优势;建立技术壁垒和业务壁垒的理解;