鱼友9078
Java后端
·2023-05-04
5.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我在项目中主要用作缓存。 反问:部门,技术栈 #实习# #求职#
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP