Java后端
·2023-05-045.4面经总结:
八股还是不太牢固,项目还是得多总结。不管结果如何,加油吧!
base:北京
长安新生面经:
八股文:
1.$和#的区别?
$是拼接, 是占位符, 可以防止sql注入,而$不可以。
#是会进行预编译,$是编译完直接运行。$会加上单引号,#不加。
2.AOP使用过吗?说一下常见的一些术语?
回答了 切面和织入(太菜了...)
3.重载和重写的区别?
重载是构造方法重载,构造方法名称和类名相同,重载时名称不能变,参数可以变;
重写指子类重写父类方法,方法名和参数不可变,内部逻辑可以修改。
4.常用的linux命令?
答:
top 和 ps -ef | grep java
因为我把项目上线到了服务器上,通过ps -ef | grep java命令可以查看java项目运行情况。
面试官:linux查看日志会吗?
我回答:忘记了具体命令,我使用的可视化面板查看。
但是有一次Docker允许的Nacos容器挂掉了,
我在Docker中使用了Logs命令查看了问题进行了解决。
面试官:那好,你说一下Nocker常见命令?
5,线程安不安全是什么意思?
答:比如一个数据被多个线程进行了写操作,就是线程不安全的。
6,XML文件里除了增删改查标签还有什么标签使用过?
答:foreach迭代集合
7.redis数据类型?
答:5种基本数据类型,GEO存储经纬度。
项目:
1.爬取数据爬的是什么网站?
编程导航,一个分享java知识的网站
爬取的时候需要进行用户登录吗?
不需要
爬虫的流程是什么?
获取url ,获取请求Json ,hutool解析json,层层剥取得到我们想要得到的data数据,放入数据库中。
2.Redis序列化具体实现?
答:
比如String设置了序列化器....
面试官:把整个对象序列化吗?
我:是的
3.线程池怎么使用的,比如10个核心线程,3个线程去执行第一个任务,3个去执行第二个,再3个执行第三个。
我回答的线程池执行流程以及线程池和CompletalbeFuture结合使用,不知道面试官啥意思...我太菜了...
没回答上来.不知道面试官想问的什么意思。
2.登录权限接触过吗?
回答Spring Security JWT
3.网关在项目中怎么使用的?
答:我创建了一个client客户端,可以更方便的调用接口,后面有路径 网关的ip,通过网关路由到对应项目的controller层中达到路由效果。
实现了黑白名单:外来IP一律拒绝访问,保证了安全性。
4.Redis怎么使用的?
热门文章存储到Redis中,可以在下次更快的搜索出来,提高用户体验。
5.看你在搜索时候使用了es和Redis,那么这两个有什么区别吗?
es和Redis都是基于内存,es进行搜索的时候可以进行分词,而且是倒排索引,根据内容找出id。分词效果强大,比如你想搜索我rapper也能搜索出我是rapper,这是比mysql的模糊搜索强大的点。
redis可以使用keys进行模糊搜索, redis我在项目中主要用作缓存。
反问:部门,技术栈
#实习# #求职#
18
0
分享
操作
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
