25年11月它思科技 Java开发 一面

#JAVA##JAVA面经##JAVA内推#

1. 你的项目使用了什么架构?包含哪些模块?你负责的模块是否使用数据库?用了哪种数据库?具体如何使用的?

思路

  • 架构:明确说出架构类型(如SpringBoot分层架构、微服务架构),核心设计思路(高内聚低耦合)。
  • 模块:按业务划分(如用户模块、订单模块、支付模块),清晰说明模块职责。
  • 数据库:明确是否使用+数据库类型(MySQL/Redis等)+具体使用场景(表设计、增删改查、索引优化、事务处理)。
  • 重点:结合负责模块,体现数据库使用的实操性,而非仅说“用了MySQL”。

回答示例
我负责的项目采用SpringBoot分层架构(Controller+Service+Mapper),整体分为用户模块、订单模块、商品模块和支付模块。我主要负责订单模块开发,这个模块用到了MySQL数据库。具体使用上:一是设计了订单表、订单详情表,用主键索引+联合索引(订单号+用户ID)优化查询;二是核心业务(如创建订单)用了事务保证原子性,避免订单创建成功但库存未扣减的问题;三是高频查询的订单列表做了分页+索引优化,减少全表扫描,同时用MyBatis实现SQL的CRUD操作,降低耦合。

2. 了解Linux常用命令吗?

思路

  • 分类列举核心命令:文件操作(ls/cd/cp/rm)、进程查看(ps/top)、日志查看(tail/cat/grep)、文件编辑(vim)、权限管理(chmod)、网络查看(netstat/ss)。
  • 结合开发场景:说明命令的实际用途(如tail -f看实时日志,ps -ef | grep java查Java进程)。

回答示例

了解常用的Linux命令,日常开发和部署会高频使用:比如文件操作用ls(查看目录)、cd(切换目录)、cp(复制文件);查看进程用ps -ef | grep java(查Java进程)、top(实时监控系统资源);查看日志用tail -f xxx.log(实时看应用日志)、grep 'error' xxx.log(筛选错误日志);编辑文件用vim,修改文件权限用chmod,查看端口占用用netstat -tlnp | grep 8080,这些命令能高效完成项目部署和问题排查。

3. 是否部署过项目?具体怎么部署的?

思路

  • 明确回答“是”,说明部署方式(如手动部署/脚本部署),按步骤梳理流程。
  • 核心步骤:

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏

全部评论

相关推荐

不愿透露姓名的神秘牛友
02-26 09:42
工业富联(iPEBG) 职能 一口价 13x13 有加班费 但肯定没有HR说的那么多 硕士海归
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务