• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于java:熊大同学的面试回忆录25年开发经验

java 搞代码 4年前 (2022-01-28) 29次浏览 已收录 0个评论
文章目录[隐藏]

明天去看牙医,他问我年级微微牙齿怎么磨损这么重大?我说,没有点赞的这些年,我都是咬着牙过去的。

以下为读者面试后的分享,局部答复笔者做了一些补充整顿,心愿对你有帮忙。(两年左右开发教训,不具备共性,仅供参考!)

PS:如果各位同学在面试后,也会做一些整顿总结,也欢送分割我,整顿分享在公众号上,互帮互助,帮忙找工作的同学拿下心仪公司的Offer!

1.自我介绍

各有不同,略。(话说回来,如果是不善言辞的同学,应该面试前给自我介绍打个底稿记一下,开局印象也重要,自我介绍都结结巴巴的,面试要凉一半!)

2.之前我的项目中应用过哪些框架,评估一下本人把握的水平?

答:Spring,SpringMVC,SpringBoot,Mybatis,SpringCloud那一套,根本都应用过。

把握水平的话,基本上在搭建及应用上没有问题,具备独立开发的能力,然而因为之前公司开发工作比拟缓和,临时对底层原理这些没有做太多的钻研。

ps:如果你对Spring全家桶这套底层源码、实现原理等有较深的钻研,感觉能经受得住发问,就不要这样自我评估了~

3.你们的微服务项目,服务注册、发现应用什么组件?

答:应用了Nacos。

接着问了为什么没有用Eureka,他们有什么区别吗?

答:Nacos可能更有先进性一些,自带实现配置核心,Eureka的话,须要整合SpringCloud Config,同时Nacos反对依据不同的业务、环境进行分组治理,所以在选型上无限思考了Nacos。

PS:附Eureka和Nacos的性能比照图

4.那你晓得Nacos的实现原理吗?

没答出来。

答复了:平时业务开发比拟多,比拟相熟应用,对底层原理没有做深刻的理解。

ps:Nacos原理剖析,能够看这里:

【282期】面试官:你能说说 Nacos 的实现原理吗?

5.你感觉SpringBoot和Spring的区别是什么?

答:SpringBoot开发中简化了很多XML的配置,引入主动配置的概念,做到零配置开箱即用。

还有就是内置了容器,不须要配置Tomcat,能够间接打包Jar运行。

接着问了SpringBoot的启动原理

答:通过@SpringBootApplication注解启动初始化模块,加载根本的环境变量、资源、结构器等,配置信息等;依据文件中配置的 Jar 包去扫描并加载我的项目所依赖的 Jar 包;@SpringBootApplication注解蕴含@ComponentScan注解,能够进行组件扫描,把扫描到的Bean注入到注入 Spring Context 中,实现SpringBoot的启动!

PS:这个问题答复的很虚,面试之前其实看过SpringBoot启动原理的文章,然而没有本人去提炼一下如何答复(没想到就问了,心里那个悔啊),不过面试官没有说什么,答复完后间接问了另一个问题。

6.Spring中用了来源gaodaima#com搞(代@码网哪些设计模式?

答:工厂模式、代理模式、单例模式。

我是个菜鸡,平时设计模式其实钻研不多,并重业务开发。答完后面试官诘问还有呢?我答复临时想不到了!!!

接着问,具体说说哪里用到了?

  • 工厂模式在BeanFactory以及ApplicationContext创立中都有用到;
  • 代理模式在Aop实现中用到了JDK的动静代理;
  • 单例模式在创立bean的时候,默认单例;

面试后的总结:设计模式上必定失分了,其实也看过这类文章,还有珍藏,只是没有深刻去浏览,总结,导致面试答复时候,能想起一点,然而总是答复不全或者答复不到点子上,当前学习的习惯要改,不能草草看过就算,要么不看,看过就记录总结~~

7.相熟Linux操作系统吗?

答:相熟,我的项目部署始终应用linux,根本的我的项目部署之类没有问题。

接着问说说罕用的Linux命令

  • vim 关上文件批改内容
  • find 搜寻文件
  • mkdir 创立目录
  • rm 删除目录或文件
  • kill 杀掉过程
  • cp 拷贝

等等,说了不到十个左右被打断,问了:

  • 查看与某台机子的连贯状况:ping ip
  • 重启网络:service network restart

让本人说了一通常用的命令之后,只问了这两个。

8.Redis相熟吗?用得多吗?

答:我的项目中始终在用,还算相熟。

说说Redis的常用命令吧

  • info:提供服务器的信息和统计;
  • shundown:将数据同步保留到磁盘,而后敞开服务;
  • get(key):返回数据库中名称为key的string的value;
  • setnx(key, value):增加string,名称为key,值为value;
  • lindex(key, index):返回名称为key的list中index地位的元素;

简略说了几个,接着问了 _什么是缓存穿透、缓存雪崩、缓存击穿?_

缓存穿透、缓存雪崩、缓存击穿的解决办法?

我感觉这个答复的还行,答案不列举了,参考:

PS:次要是看过,也了解了这部分,其实这个在之前我的项目中还真没理论解决过~~~

9.Excel数据的导入导出解决过吗

答:解决过,应用了POI做Excel的导入导出。

接着问导出数据量很大,会有什么问题

答:会导致内存溢出。

你们怎么解决的?

(这个根本没答上来,依稀记得看过公众号相干文章,然而遗记的死死的,好想说我去找个文章,拷贝一下人家解决的代码,这样子解决。)

答:之前我的项目中,导出没有遇到数据量特地多的场景,没有这方面的解决教训。

10.有没有对我的项目做过优化,说说SQL方面你们个别会做哪些优化解决

答:

  • 应用连贯(JOIN)来代替子查问;
  • 对查问进行优化,应尽量避免全表扫描,首先应思考在 where 及 order by 波及的列上建设索引;
  • 用EXISTS代替IN、用NOT EXISTS代替NOT IN;
  • 防止在索引列上应用计算;
  • 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃应用索引而进行全表扫描;
  • 尽量避免3条以上的Join查问;

接着问,很屡次说到索引,是不是增加的索引越多越好?

答:不是。

  • 表记录太少
  • 常常插入、删除、批改的表

补充:

  • 数据反复且散布均匀的表字段,如果一个表有10万行记录,有一个字段A只有T和F两种值,且每个值的散布概率大概为50%,那么对这种表A字段建索引个别不会进步数据库的查问速度。
  • 常常和主字段一块查问但主字段索引值比拟多的表字段

其余

问了一些简历上的我的项目问题,不具备共性,这里不分享了。

问了能手写红黑树吗?

答:数据结构那些不太熟,只会根本的排序那些,面试官一笑~

问了在之前我的项目中有没有踩过什么坑,怎么解决的?

最怕这类发问,想了一下说了事务注解生效的坑,导致生产数据呈现问题,熬夜回退并作了数据改正。

问了上家公司到职起因

答复不具备共性(自己是一线城市回二线),略。

问有什么想问的吗?

问了对我面试体现的评估。评估粗心是我的项目实战经验不错,应用的技术方面都比拟符合,我的项目上没有问题;而后Java根底方面不现实,晓得应用然而对原理没有去做理解。

嗯,还算中肯~~

根本面试下来,回想起来的就这些问题了。然而发问程序有出入,忘性不好,只能回顾期这些了,心愿对你有所帮忙!

十期面试举荐

【271期】面试官:Spring MVC的解决流程是怎么的?

【272期】数据结构:哈希表原理以及面试中的常见考点

【273期】通知面试官,我能优化groupBy,而且晓得得很深!

【274期】面试官:怎么保障缓存和数据库一致性

【275期】面试官:你对MySQL中的索引理解多少?

【276期】面试官:你剖析过@Annotation注解的实现原理吗?

【277期】面试官:说几种罕用的分布式 ID 解决方案

【278期】面试官:都说 select * 效率低下,你晓得什么起因吗?

【279期】面试官:Java遍历Map汇合有哪几种形式?各自效率怎么样?

【280期】k8s面试问什么?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于java:熊大同学的面试回忆录25年开发经验

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址