华信设计(Java开发)一面面经

简历中提到了基于SpringBoot的商城管理系统。

1、项目是大学的时候做的吗?自己做的还是老师带着做的?

是的,作为学期最后作业,独立完成,老师讲解了相关重点知识。

2、项目中最难的点是什么?(问很多)

1)图片上传至阿里云OSS对象存储中,提高了效率。
2)Service层中业务的相关处理。

3、如何对根据商品销售量进行排名(从mapper到前端的实现过程)

对商品销售量进行排名可以分为以下几个步骤:

  1. 在数据库中记录商品销售量,例如可以在商品表中添加一个 sales 字段来记录销售量。

  2. 在 SpringBoot 项目中编写 Mapper 接口,使用 SQL 语句从数据库中查询出销售量排名靠前的商品信息。例如可以编写一个方法,使用 ORDER BY 子句按照销售量从大到小排序,然后使用 LIMIT 子句限制查询结果数量,最后返回查询结果。具体示例代码如下:

public interface ProductMapper {@Select("SELECT * FROM product ORDER BY sales DESC LIMIT #{count}")List<Product> getTopSellingProducts(int count);
}
  1. 在 Service 层调用 Mapper 接口的方法,获取销售量排名靠前的商品信息。例如可以编写一个方法,调用 Mapper 接口的 getTopSellingProducts 方法来获取销售量排名靠前的前N个商品信息,最后返回查询结果。具体示例代码如下:
@Service
public class ProductService {@Autowiredprivate ProductMapper productMapper;public List<Product> getTopSellingProducts(int count) {return productMapper.getTopSellingProducts(count);}
}
  1. 在 Controller 层编写请求处理方法,调用 Service 层的方法来获取销售量排名靠前的商品信息,最后将查询结果返回给前端页面。例如可以编写一个方法,使用 @GetMapping 注解处理 HTTP GET 请求,调用 Service 层的 getTopSellingProducts 方法来获取销售量排名靠前的前N个商品信息,最后将查询结果封装到一个 Map 中,返回给前端页面。具体示例代码如下:
@RestController
public class ProductController {@Autowiredprivate ProductService productService;@GetMapping("/products/top-selling")public Map<String, Object> getTopSellingProducts(@RequestParam(name = "count", defaultValue = "10") int count) {List<Product> products = productService.getTopSellingProducts(count);Map<String, Object> result = new HashMap<>();result.put("success", true);result.put("data", products);return result;}
}
  1. 在前端页面中使用 Ajax 技术向后端发送 HTTP 请求,获取销售量排名靠前的商品信息,并将查询结果展示在页面上。例如可以编写一个 JavaScript 函数,使用 jQuery 的 $.ajax 方法向 /products/top-selling 路径发送 HTTP GET 请求,获取销售量排名靠前的前N个商品信息,然后使用 jQuery 的 $.each 方法遍历查询结果,将每个商品的信息动态添加到页面上。具体示例代码如下:
function showTopSellingProducts(count) {$.ajax({url: '/products/top-selling',data: {count: count},success: function(response) {if (response.success) {var products = response.data;$.each(products, function(index, product) {var html = '<div class="product">' +'<div class="product-name">' + product.name + '</div>'<div class="product-sales">' + product.sales + '</div>' +'</div>';$('#top-selling-products').append(html);});}}});
}
  1. 在前端页面中调用上述 JavaScript 函数,展示销售量排名靠前的商品信息。例如可以编写一个 HTML 页面,使用 jQuery 的 $(document).ready 方法在页面加载完成后调用上述 JavaScript 函数,展示销售量排名靠前的前N个商品信息。具体示例代码如下:
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Top Selling Products</title>
</head>
<body><h1>Top Selling Products</h1><div id="top-selling-products"></div><script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script src="script.js"></script><script>$(document).ready(function() {showTopSellingProducts(10);});</script>
</body>
</html>
注意:以上示例代码仅供参考,实际实现过程可能因具体需求和技术栈不同而略有差异。

3、编写代码实现字符串拆分。

代码如下:

import java.util.*;
class test{String static void main(Strng[] args){String str = "aaaa,bbbb,cccc,dddd";String[] res = str.split(",");for(a:str){System.out.println(a);}}
}

4、1-100随机整数。

代码如下:

import java.util.*;class test{String static void main(Strng[] args){int res = (int)(Math.random()*100);System.out.println(res);}
}

5、项目中如何做事务?(如何设置事务的传播特性,在哪里设置?除了方法还能在哪里设置事务)

在项目中使用事务可以保证数据的一致性和完整性,一般在涉及到多个操作的时候需要使用事务。Spring Boot 提供了对事务的支持,可以通过 @Transactional 注解来声明一个方法需要运行在事务中,并指定事务的传播特性等。
参数:prorogation、Isolation

设置事务传播特性
事务传播特性指的是在嵌套事务中,一个事务如何与另外一个事务进行交互和协调。Spring Boot 支持多种事务传播特性,例如:propregation

Propagation.REQUIRED:如果当前存在事务,则加入该事务;如果不存在事务,则创建一个新的事务。
Propagation.REQUIRES_NEW:创建一个新的事务,如果当前存在事务,则挂起当前事务。
Propagation.SUPPORTS:如果当前存在事务,则加入该事务;如果不存在事务,则以非事务方式继续运行。
Propagation.NOT_SUPPORTED:以非事务方式运行,如果当前存在事务,则挂起当前事务。
Propagation.NEVER:以非事务方式运行,如果当前存在事务,则抛出异常。

除了可以放在方法上还可以放在类上。

6、收集基础信息(奖学金,成绩排名,家庭状况等等)

7、期望薪资

华信设计(Java开发)一面面经相关推荐

  1. 商品贩卖系统java_基于jsp的华信贩卖-JavaEE实现华信贩卖 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的华信贩卖, 该项目可用各类java课程设计大作业中, 华信贩卖的系统架构分为前后台两部分, 最终实现在线上进行华信 ...

  2. 华资软件Java开发实习生——2021届暑期实习生面经(OC)

    概述 华资软件是跟VIP同一个时间投的,应该也是在拉钩或者BOSS上投的.HR那边简历查看之后,会发出第一轮笔试和第二轮笔试,两轮笔试都过了才能进入面试,当时给我的感觉是比较正式的. 一轮笔试好像有三 ...

  3. 山东大学JAVA课程设计 —— JAVA开发桌面应用之开发自己的闲鱼交易市场,能聊天,能买卖商品哦!

    文章目录 一.结论分析与体会 1.1.技术部分 1.1.1.swing 1.1.2.多线程 1.1.3.数据库 1.1.4.网络 1.1.5.集合与泛型 1.1.6.接口与内部类 1.2.内心感悟 二 ...

  4. 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍

    摘要: 本文带大家简单理解阿里巴巴Java开发手册中的规约内容以及P3C项目,可以帮助开发者扫描出所有潜在的代码隐患.在中间也聊了一些对于不同语言设计的理解,如何去看待语言的设计,其实是我们去学习一个 ...

  5. java 2年11k工资是否辞职_初中学历,从制造业工作转行Java开发,毕业收获月薪11k

    初中学历,从制造业工作转行Java开发,毕业收获月薪11k 时间:2018-08-22     来源:未知 小陈学历不高,来华清学习之前,在制造行业工作了很多年,也当到了车间主任的位置,但是工厂的环境 ...

  6. 基于jsp(java)超市管理系统的设计和开发(含源文件)

    获取项目源文件,联系Q:1225467431,可指导毕设,课设 摘 要 随着网络技术的发展.计算机应用水平的提高的扩大,原来系统的时效性.数据的正确性.操作的方便性上都存在不足,已影响到系统的正常使用 ...

  7. 基于java的创意项目众筹平台的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java的创意项目众筹平台的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java的创意项目众筹平台的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库 ...

  8. 大华集团面经Java开发

    大华集团面经Java开发 JVM 内存模型 JVM内存结构主要有三大块:堆内存.方法区和栈.堆内存是JVM中最大的一块由新生代和老年代组成,而新生代内存又被分成三部分,Eden空间.From Surv ...

  9. java开发checklist,Java API设计CheckList

    API设计原则:正确.好名.易用.易学.够快.够小.但我们从来不缺原则,〜〜〜 Interface 1.The Importance of Being Use Case Oriented,一个接口应当 ...

最新文章

  1. 在Ubuntu 16.04.5 LTS上利用python 2.7版本的pillow库拼接近千张图片实录
  2. 2020 数据分析岗位报告:数据分析师需要哪些能力?
  3. Router OS之禁止P2P下载
  4. 大专计算机单招有哪些,大专单招和统招的区别有哪些
  5. php 屏蔽ip段,php禁止ip段的方法
  6. java http 302重定向_Java 纯HTTP请求 禁止302自动重定向
  7. Lukas-Kanade光流法
  8. 剑破冰山—Oracle开发艺术 内容简介
  9. labview的介绍,安装和卸载
  10. 多个vue项目之间跳转_Vue六,路由,ElementUI
  11. csv解析java_Java CSV解析器
  12. scanf格式符 linux,Linux scanf使用情况
  13. aliddns ipv6_利用阿里云ddns动态解析ipv6地址
  14. 记忆力训练软件测试自学,[记忆力训练软件]记忆力训练软件有哪些?
  15. 学生HTML个人网页作业作品 基于HTML+CSS+JavaScript明星个人主页(15页)
  16. PS抠发丝技巧 「选择并遮住…」
  17. 世界曾经有这样一个中国
  18. 罗技蓝牙鼠标连接电脑教程
  19. 【已解决替代Google英文网页翻译】英文网页翻译成中文(不用额外的插件解决方法)
  20. 用 Code 改变世界 —— 阿里百川 Hackathon 回顾

热门文章

  1. 【C语言】实现俄罗斯方块
  2. 微信小程序更新二维数组中的对象或数组的属性值
  3. 几何画板如何用描点法画二次函数
  4. Typora自定义主题样式
  5. 如何做竞品分析报告?
  6. Runtime(运行时)是什么意思
  7. 安阳工学院计算机课程表,WakeUp课程表(com.suda.yzune.wakeupschedule) - 3.8.31 - 应用 - 酷安...
  8. 我的小游戏——贪吃蛇
  9. 免付费688个人开发账号真机调试测试教程
  10. PS修改照片的长宽像素和文件大小