面试流程和面试题

本文详述了一次典型的面试流程,重点讨论了面试中的Java项目经验、多线程应用、Redis的使用及其数据结构、数据库设计与优化、SpringCloud组件和负载均衡等方面的问题。此外,还提到了Git冲突解决、Linux基础知识和常用命令。
摘要由CSDN通过智能技术生成

面试顺序

面试顺序

自我介绍–>项目讲解–>项目中遇到的问题和相关知识点提问–>你还有什么想问的

介绍

我叫xx,来自xx,毕业于xxx。毕业以后加入了xxxx,研发了xxx项目。这个项目是今年(去年)的xx月开始开发和搭建的,项目开发的总共xxx人,开发的周期是xxx月。SpingCloud、springboot、Mybatis框架集成开发。

1.项目您负责的是哪些模块?

分类统计 、报表、交易管理、还款管理

2.项目哪一个收获更多?

例如:钱多多金融平台收获更多,用到短信验证码存储到redis缓存中

例如:佰佰旺信用卡平台 从项目需求分析,到数据库设计,到后来的界面设计以及第一次全部整合项目,到最后的项目总调试到评审,中间出了很多问题,但最终还是学到了很多在平时写Demo中学不到的东西,对于一个完整的项目流程还是有了更深层次的了解。

3.多线程在项目中用到了吗?

我们大多数程序员通常都是和业务代码打交道,需要用到多线程的地方我们容器和框架一般都替我们处理好了,所以我们很少有机会接触到多线程编程。但是实际上依然还有一些场景可以使用多线程来处理,这里我列举一下我在实际项目中用到的多线程。

多线程处理后台任务

一般来说,我们需要在后台处理的任务,通常会使用定时器来开启后台线程处理,比如有些数据表的状态我需要定时去修改、我们搜索引擎里面的数据需要定时去采集、定时生成统计信息、定时清理上传的垃圾文件等。

多线程异步处理任务

当我们需要处理一个耗时操作并且不要立刻知道处理结果时,我们可以开启后台线程异步处理该耗时操作,这样可以提高用户体验。比如我之前做的一个项目需要上传简历附件,后台需要对简历附件进行解析,保存到数据表中,因为涉及多种格式的处理,所以我们开启多线程异步处理此操作,这样用户就不用等到我们的简历解析完就能看到服务端的响应了。再比如用户下载简历时,我们需要将数据表中的数据生成简历附件并且通过邮件发送到用户邮箱,该操作也可以开启多线程异步处理。

多线程分布式计算

当我们处理一个比较大的耗时任务时,我们可以将该任务切割成多个小的任务,然后开启多个线程同时处理这些小的任务,切割的数量一般根据我们服务器CPU的核数,合理利用多核CPU的优势。比如下载操作可以使用多线程下载提高下载速度;清理文件时,开启多个线程,按目录并行处理等等。

4.redis主要用来做什么?(重点)

Redis的数据结构有五种,分别是:String,Hash,list,set,zset。这五种数据结构有各自的使用场景:

  1. String

某一IP地址在一个时间段访问很频繁,就要对此进行封锁。Redis中的String数据类型可以通过Incrby命令记录访问次数。

  1. Hash

用来存储用户信息[id,name,age];Hset{key,field,value}
例如:Hset{userKey,id,01}
Hset{userKey,name,admin}
Hset{userKey,age,23}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值