目录
文章内容
面试两次,每次都直接问项目,对于还没复习项目的我来说,开场就自闭,直接凉凉,所以打算认真想一想项目介绍这个问题?本文查看这位博主写的项目介绍来写个自己的模板。
请做一个自我介绍
面试官好,我叫黄慧超,目前就读于湖南工学院是一位大四学生。很荣幸来参加这次面试,我面试的职位java后端实习生。
大学生活里,学习上,认真完成学校基础课程,在校期间参与过几个项目。这些项目让我的学习能力和动手能力得到了提升。除此之外平时我会听歌运动放松自我。
因为我平常用java开发项目,所以希望能在java这个方向有所深入,非常希望来贵公司任职,为公司创造价值。
谢谢,我的自我介绍完毕。
请介绍一下你的项目
clap笔记本测评网站采用了目前比较流行的微服务架构方案,选择的是springcloud的微服务架构,整个项目采用了前后端分离的开发模式。
前端分为两个部分:1.后台管理:主要面向的是数据管理人员,用bootstrap开发的。
2.前端页面:用vue框架渲染。
后端:采用springcloud的微服务架构
1.基础设施模块: 1. eureka 服务注册发现 2. zuul 服务网关3. config 配置中心
2.公共模块:common 1.实体类(Result)2.工具类(utils )3.业务相关类(BizException)4.公共接口(MyBatis 父接口)
3.业务模块:1.门户:index :存放所有的网页资源,无业务和数据访问模块
2.用户:user:用户相关:登录注册(后天管理)...
3.帖子:post:论坛相关:发帖评论...
4.核心业务:laptop:笔记本相关:对比测评...
你负责的板块或者功能点是哪些,遇见的难点如何解决?
首先项目的模块划分与搭建是我完成的,其次我主要负责的是帖子模块,对这个模块的发帖,评论,点赞,页面显示功能的实现,然后帮助队友实现了广告定时定量更新,和邮箱注册,密码重置,上传图片的去重。
比较难的点是显示帖子热榜top10,以及上传图片的去重。
解决办法:实现topN的问题 是用优先队列来实现的。1.创建一下小根堆2.当堆中的数据小于10个时直接向集合中添加元素3.等于10个时,peek出堆顶的元素与当前元素比较4.当前元素大于堆顶元素则把堆顶元素移除,把当前元素添加到集合中5.这样把所有移除的元素都小于堆中元素6.留下来的10个就是最大的10个
图片去重:1.开始是直接把图片存入数据库中,但是效率太低。(每次存判断有无)
2.然后将图片的存入hashset中,那只需要接近O(1)就可以查到是否存在,但是hashset太消耗内存。
3.把图片直接经过MD5单向哈希后保存到HashSet或者数据库
4.用位图把图片哈希后映射到某一位
5.布隆过滤器