语言:熟练掌握Java、Python,熟悉Java常用集合、注解、反射、多线程、设计模式、JVM等
数据结构和算法:掌握堆、栈、二叉树、贪心、动态规划等
计算机基础:了解计算机网络,系统进程、线程管理,死锁等
数据库:熟练掌握MySQL,熟悉SQL运行过程、存储方式、索引的使用,事务、锁、分库分表分页等机制,了解Elaticsearch
中间件:熟悉Redis基本数据结构及其应用场景、主从复制、缓存、持久化等,熟悉RocketMq、Kafka消息队列的使用
常用框架:熟练使用SSM、SpringBoot、MyBatis-Plus等框架
前端:熟悉html、CSS、JavaScript,能够使用Vue、ElementUI框架进行前端开发
工具:熟悉Linux开发环境,熟练使用Git、Vim,Tmux、Docker、Maven等工具
项目描述:该项目是基于Spring Boot + Elastic Stack的一站式信息聚合搜索平台。用户可在同一页面集中搜索出不同来源、不同
类型的内容,如文章、图片、用户、专栏、视频等,提升搜索体验。
主要技术:
• 基于自己二次开发的Spring Boot初始化模板+MyBatis X插件,快速生成基本数据源的增删改查(比如用户、文章);
• 为解决文章搜不出的问题,自主搭建Elasticsearch来代替MySQL的模糊查询,并通过为索引绑定ik分词器实现了更灵活的分词
搜索;
• 构建ES文章索引时,采用动静分离的策略,只在ES中存储要检索的、修改不频繁字段(比如文章)用于检索,而修改频繁的字段
(比如点赞数)从数据库中关联查出,从而减少了ES数据更新和同步的成本、保证数据一致性。
• 为了更方便地管理Elasticsearch中的数据,自主搭建Kibana并配置index pattern和看板,实现对文章数据的可视化管理。
• 自主搭建Logstash实现每分钟同步MySQL的文章数据到ES,并通过指定tracking column为更新时间字段解决重复更新的问
题。
角色 | 职位 |
负责人 | java开发工程师 |
队员 | 前端工程师 |
队员 | 后端工程师 |