java 面试题及面试经验分享

CSDN话题挑战赛第2期

参赛话题:面试宝典

文章目录

面试流程

面试的流程从一般的程序上看是先人事再技术再二轮三轮不等,如果进行多轮面试的话就不会只单单看你的技术是否过关了,他就要要求你综合能力是否过关:比如说:表达能力,技术能力,写作能力,沟通能力,学习能力,抗压能力,应变能力等,一般像这样的公司一般都是大厂了,小厂的话一般就是人事加技术,符合公司用人要求即可.
还有就是群面,群面是最考验一个人的综合能力的,因为群面可以从不同的人眼在一定程度上折射出你的能力水平.压力往往比较大,一定要保持放松,注意观察别人的谈吐言之.
单面的就可以自由发挥了.
自我介绍:
自我介绍的时间不要过长或过短(1~3min),如果面试官看过你的简历(1-2min),介绍完之后最好加一句结束语,用来表名自我介绍结束.
技术面
首先解答面试官的问题,然后在表达自己的一些看法.
(个人经验仅供参考,)

面试题

1.Linux用哪个命令是显示目录的?

ls

2.docker是如何运行java程序的?

docker run -d -p 8701:8701 demo-image

3.springboot和springcloud的区别?

springboot是快速开发的spring框架,springcloud是完整的微服务框架,springcloud依赖于springboot

4.SQL的左右内联查关键字?

内:inner join
左:left join
右:right join

5.SQL分组的关键字?

group by

6.SQL排序的关键字?

order by

7.springboot特性?

项目快速搭建
遵循习惯优于配置的原则
不适用xml配置
内嵌Tomcat等容器
对主流框架无配置集成

8.Linux权限查看,文件大小

ls -l

9.Redis是的作用是什么?

数据库 缓存 消息中间件

10.Redis适用于什么业务场景?

数据高并发的读写
对扩展性要求高的数据

11.你知道有哪些中间件?

消息队列中间件:RabbitMQ,RocketMQ,
缓存数据库中间件:Redis  Redis分布式锁,Redis线程问题

12.说一下mybatis和mybatis-plus的区别?

mybatis持久层的ORM框架,整合了jdbc的繁琐操作,只需要注重对SQL的编写即可完成相应的业务.
mybatis-plus是在mybatis基础之上做的增强,不做修改,不仅支持原生的mybatis功能,也支持mybatis-plus自身独有的功能,比如说Api和注解

13.你说一下mybatis中 # 和 $ 符号的区别?

 # 是有预编译的处理, $ 是字符串的替换
在处理#时,会将SQL中的#替换成 ?,调用 PreparedStatement的set方法来赋值
在处理时,就是把替换成变量的值
是用#号可以有效的防止SQL注入,可以提高系统的安全性

14.你了解elasticsearch这个是什么吗?

是一个分布式多用户能力的全文搜索引擎,基于restFul web接口,
高扩展,高使用的搜索与数据分析引擎.他可以很方便的使用大量数据具有搜索,
分析和探索的能力.充分利用了ec的水平伸缩性,能使数据在生产的环境变得更有价值.

15.SQL优化

查询要用字段代替 *

避免在where子句中使用or来连接条件:使用or可能会造成索引失效,扫描全表

使用varchar代替char:varchar可变储节省空间,char声明储存大小,不足用空格补充

尽量使用数字代替字符串类型

查询尽量避免返回大量数据

使用explain分析SQL执行计划

创建字段索引

避免在where中对字段进行表达式操作

避免在where子句中使用!=<>操作符

去重是过滤的字段尽量减少

where中使用默认值代替null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨天行舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值