Java面试总结

今天本着愉快的心情,面试了两家还不错的互联网公司,一家某未科技,某扑体育两家公司的环境和规模都是相当不错的,都是我想要去的公司,然而事与愿违,由于自己能力原因,和这两家公司说拜拜了。

从哪跌倒就从哪爬起来,不让失败再一次发生,是时候做出改变了。加油,奥利给!!!那我就来简单的想一想今天都问了一些什么东西吧。

 

某未科技:

1.笔试题一套(挺基础的,但是题很多,三页,我做了接近50分钟)

     选择:几个简单的string引用的题,多线程,IO流,看程序输出结果

     简答题:结合java内存模型分析高并发问题,排序算法,linux的几个命令,session如何和浏览器联系的,单例,设计一个RBAC权限模型等

 

2.技术面:(背景:因为这个项目组是公司刚成立的,做一个类似大众点评的功能的APP,刚好我简历上有类似的项目经历,他们就不看我别的项目了,就疯狂的问我关于这方面的业务和解决方案)

1.讲讲你xxx公司的某一块的业务,用到的memcache缓存的使用

2.直接问:你们公司评论模块的模型是怎样设计的,这个评论可以是别人评论,自己评论,别人回答你的评论,自己也可以删除评论等功能的模型(可以借助Redis实现)

3.mysql的隔离级别,索引,mysql存储数据的格式,mysql的锁(他们问的可不是这个概念,真的往死里面问,哭了。。。。)

4.JVM的堆栈信息,如何模拟堆内存溢出,栈内存溢出,GC的几个算法,都有啥缺点

5.java的线程池的核心参数(拒绝策略详细问)

6.springcloud的组件讲一下

7.springboot升级遇到的问题(我简历有些项目的升级)

8.java的锁

9.DNS域名解析相关的问题(还问了一些别的计算机组成原理和网络的问题,我说我不会,就没问了)

10.为啥一个请求过来,服务器会知道???

11.rabbitmq的模型有了解吗?

12.说下rabbitMQ如何解决消息丢失和重复消费的问题

13.springMvc的执行流程,详细问了Handler,dispatchServlet相关的东西

14.工作中高并发和线程安全有用过吗(问分布式事务)

好像大概就这么多了,大概面了一个小时多吧

 

某扑体育的面试:

1.笔试题:不想说了,题不是很难,但是要是不懂计算机网络和java8的同学可能有点吃力

2.技术面试(背景:由于笔试题有一道算法题,我写的不对,其实我是不咋会,面试官先和我讲一讲这道题我的解决方案)

1.让我讲一讲我现在工作的业务,用到的技术,和遇到的问题(不瞒大家说,我在这家公司主要是写的是前端,后端写的不是恨多,一些核心业务我是不知道的,我压根说不很清楚,也不敢大事渲染一些业务,我就简单的说了一下,被面试官怼了,就这业务????)

2.讲一下我简历用到kafak做的一个日志统计(也被面试官怼了,说设计不行)

3.java的锁(主要说了自旋锁),valitate,syn和lock等

4.springCloud的一系列组件讲一下(zuul,eureka,ribbon,feign,hys,config,apolo等)

5.分布式事务讲一下

6.线程池

7.redis的分布式锁有了解吧,说下setNx可以设置的参数,都有啥区别

8.怎样保证高并发和线程安全呢(我说可以用缓存和加锁,他来一句你们用syn还是lock,讲下区别,顺便又说起了分布式锁)

9.java的map,linkHashMap,hashmap和concurrentHashMap,hashTable(问了hashMap的put和扩容的源码,还有他的index的生成规则,concurrentHashMap安全的原理,如何把map变为有序的)

10.mysql的索引

好像就这么多,大概聊了一个小时

从哪跌倒就从哪爬起来,失败并不可怕,加油好好学习,未来可期!!!

 

一条科技的面试总结:(这家的面试题其实好好背背面试题,应该妥妥的,因为没有算法和计算机网络等。可惜当时基本是裸面的)

1.redis的缓存的击穿和穿透,解决方案(问我之前项目有一个用到的缓存的地方,我自己嘴贱,说我的缓存时间是2h,他就让我说下,在缓存失效的同时,大量请求过来咋处理,这其实就是缓存穿透),我这边普及下这几个概念吧

https://www.cnblogs.com/xichji/p/11286443.html

  • 缓存穿透:key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。
  • 缓存击穿:key对应的数据存在,但在redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。
  • 缓存雪崩:当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力。

2.问下memcache和redis已经本地缓存map的区别

3.mq的那几个常见的问题:消息的丢失,顺序,重复消费问题

4.ConcurrentHashMap的源码

5.AQS

6.LOCK和Sync

7.mysql事务的特性,隔离级别,spring的事务传播行为

8.mysql的索引,聚簇与非聚簇

9.想不起来了。。。。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值