记一次面试经历

今天下午面试了某公司的Java实习岗位,被面试官虐了半个小时,下面是我还能想起来的一些问题,而且最后写了一些总结和感受。

  1. 给我讲讲spring security
  2. 幂等性 ;分布式锁; 分布式缓存;
  3. 说说收集器 ; 有过参数调优吗?
  4. 跨域的产生原因,同源策略?
  5. 索引的数据结构?为什么不用红黑树?为什么不用(我忘了啥了)?
  6. 如果数据量达到千万级别的话索引还能快吗?(这块我认为应该结合数据结构来说,再延伸到 如分库分表)
  7. nosql: redis最好要系统学一遍,高级的应用最好都学学 。mongodb为什么要用mongodb,他的优点及原理
  8. mq: 这个问了我都学了哪些mq(这块几种常见的mq最好都系统的学一下)

注:上面的这些我自己感觉有些脱离基础结果面试官和我说是按实习招聘标准来的,而且看你的技术栈还有其它基础的东西像dubbo netty啥的我就不问你了(疑惑的是多线程这块面试官没有问我,我怀疑是不是前面分布式锁那部分我没答出来就直接不问我了?)

还有一些比较简单的题目比如: 事务的四个特性 spring的ioc和aop,设计模式(这一块有些内容我没记牢,还有就是我没有实际用过设计模式去优化项目),nginx,jvm中不存在oom的地方 等

除此之外简历上既然写了项目就最好把一些具体业务或者实现流程记清楚,这块我就没答好(因为项目是一年前写的我自己嫌弃一年前的代码写的太菜没有复习,
一问业务和技术实现流程我就懵了)。
还有项目开发中遇到的难点一定要做好记录,要考,这一块我忘了回顾了所以答得很模糊。

总结:学的不够深入和不够系统 就只在项目中随便用用的话面对高水平的面试官两下就over了,像我我的简历里面写了个学成在线的项目,就那种看视频学习的,里面用到的mq,elk等知识都是很快讲完的,结果知识不够全面,除此之外还有分布式锁等。所以我感觉学习一个项目的话一定要把它里面涉及到的知识都系统的学一遍,再去看看别人代码里咋用的。对于这种开源项目中的业务流程的话这次面试给我的感觉就是 假如项目是你自己写的那你就一定要清楚业务流程,不是的话主要就记里面的技术实现就ok了。
还有像mysql优化特别是索引一定要深入了解。

还有就是像我目前就只参加了两次面试,都是电话,上次就只用了10分钟,这就造成了经验不足(悲剧的是在boss上投了100家,20家接收了简历,就五六家给了面试机会,还有的不支持线上)。比如说我的错误:
知识上:面试前以为redis只要简单了解就够了,结果可想而知这块凉了,后悔之前没有看视频好好学一下(也就几个小时一般就能搞定)。
项目上:还有就是项目之前我不知道项目上咋问的没有对自己之前的项目进行回顾。
另外就是表达上:这次的话里面有些题是能说两句的,比如分布式锁(项目里是用的cas+version)结果当时竟然懵了,直接来了句不会。还有千万数据量我一听千万数据量随口就说了我没做过这么大数据量的,结果忘了还可以分库分表(虽然不熟,但最起码了解些,之前为了一探究竟自己费好大功夫自己搭了一个分表,博客有)

还有一点就是个人的感想:之前我在大学里还听过不少同学说学个ssm就够了,我认为好多同学都把自己框住了,还有些大一大二的是保持了一种中学时的思维,非要跟着学校学,学校这学期学c++我就不学下学期才有的java,还有学习就是要放开了去学,不要总是感觉这个东西应该用不到,像我就是感觉dubbo和zk 还有netty之类的应该用不到,还有之前我看书看到java收集器有好多种然后我就感觉暂时用不到随便一看,其实这些东西只要你会就给你加分的,最起码你学了。 而且假如秋招再去面阿里的话想必这些东西不熟的话可以直接出门右拐了。

最后总而言之还是技术栈学的不行,而像我作为一个普本的学生要想和别人竞争就得下大功夫在技术上胜过别人才行,通过这次面试意识到了原来自己里该公司的实习岗位竟然还差这么多,再次意识到了自己是个菜鸡。不说了学习去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值