2月28日-处女面-我们不工作,我们只是面经的生产者
整体情况
在boss约的面试,java开发岗。日企薪资较低,虽然最后拿到offer,但是没有去。
先是在一个房间里做笔试题,做完之后再去面试,一共有对面一共做了三个人,两个公司的java员工和一个hr,然后问问题,问的有点多,几乎也都答出来了。没有考算法,然后面试管指出了简历两处书写错误。剑指offer上说准备一段自我介绍和几个问面试管的问题,诚不欺我。
明天后天接着面其他公司。
笔试题
最后上交的时候偷***了一下笔试题,题目比较简单,大题考了个左外链接和mvc模型。
面试题
网站ddos:回答增强硬件设备,设置***,白名单。(咱也不知道为啥java问这个,看面试管表情应该答的可以)错误达到3次,验证码或者滑块验证错误达到10次,手机验证码验证登陆。IP限制
高并发: 直接寄,之前看八股看到好多次,一直没看。参考答案(忘了具体问的哪一个了): 1,秒杀系统: Cdn请求资源加速 Url动态化,加密随机字符串做url,前端获取后端的校验才能通过 Ip限流 扩容:nginx请求转发,增加后台服务器 2,库存超卖问题: 分布式锁解决:串行问题,效率变低。 优化:分段锁,比如把stock字段值1000分为20个50,然后可以20个并发操作(要做到随机),当其中一个库存不足时,需要释放当前段的锁,去找其他段的锁。 悲观锁,分布式锁,乐观锁,队列串行化,异步队列分散,Redis原子操作
存储过程: 参考答案:我们可以把存储过程看成是一些 SQL 语句的集合,中间加了点逻辑控制语句。存储过程在业务比较复杂的时候是非常实用的,比如很多时候我们完成一个操作可能需要写一大串 SQL 语句,这时候我们就可以写有一个存储过程,这样也方便了我们下一次的调用。存储过程一旦调试完成通过后就能稳定运行,另外,使用存储过程比单纯 SQL 语句执行要快,因为存储过程是预编译过的。 存储过程在互联网公司应用不多,因为存储过程难以调试和扩展,而且没有移植性,还会消耗数据库资源。 阿里巴巴 Java 开发手册里要求禁止使用存储过程。 面试之前刚看到,然后就答了一下,感觉很读都没说出来。然后我说到阿里开发手册禁止存储过程时,面试管笑着说有利有弊,然后又说各个公司要求不同啥的,咱就是说,感觉他自己说的挺嗨的,③实习面试,别答太满,给面试管留几句话。
7和8的区别:寄,因为用过几次io流,简历里写了,然后面试管问io流的7和8版本有什么不同。早知道就把简历这部分改成集合了。。没找到这个问题的答案,有点冷门吧。④简历引导,别挖坑
axios:异步请求,然后说了一些前端的东西,有说了一些跨域相关的。真不知道该说什么了。反正感觉我答非所问吧,但是看面试官表情还可。
服务器软件,说了,apache,Tomcat。然后问版本控制,不太清楚他问的是依赖版本还是网站软件版本,就回答了宝塔和phpstudy。 参考答案:服务器:apache、tomcat、nginx、Tengine,iis(iis我都忘了)
网安实战:直接答无(咱也不清楚,java面试为啥老是问网安)
前后端分离适合场景:答非所问了一波。然后面试管说适合多个前端的场景(类似app,微信小程序,网页共用后端)
redis缓存思想:又是简历挖的坑。啥也没答出来。
vue的excel表格处理:没用过,就说自己用过阿里的easyexcel。
mybatis分页查询:忘了代码了,就说把条件封装到一个新的实体类,然后传入两个分页参数。(如果上天在给我一次机会,我不会再做CV工程师了)
springboot内置Tomcat:问出这种问题,我直接笑了,面试管也笑了。
junit:我说是测试用的
左外查询:左表找不到就null。
经验教训
①答非所问
②适当装傻,面试更真实
③实习面试,别答太满,给面试管留几句话
④简历引导,别挖坑