一道java面试题,你在项目里是如何解决大数据的高并发和多线程的,怎么才能回答好

每次去面试,这种题总是回答不好,网上的回答太笼统了

请问各位高手,这种题应该如何从项目中谈起

阅读 12.6k
4 个回答
  1. 首先谈谈你对高并发和多线程的理解
  2. 再谈谈你们项目的实际业务,因为脱离业务谈高并发都是耍流氓。
  3. 再根据你们的项目,说说你是如何做高并发和多线程的。
  4. 然后一定要说你做了什么,达到了什么效果,一定要有前后数据对比,就是用数据说你达到的成就效果。
  5. 再说说你这样的设计或者实现有什么好处,对项目或者业务的发展能有什么帮助。
  6. 最后说说,你一直期望能多学习不同项目不同公司的多线程和高并发的经验。如果可以,你期望到贵公司学习更多经验。
  7. 另外,如果你项目中没有用到太多的高并发和多线程,那么你就谈谈你未来期望如何去规划,还是按照上面那几点的套路来回答。

一步一步来,慢慢说,把能说的点都点到了,最好有实践经验,没有也没关系,基本是前端、代理、代码(包含代码优化)、缓存、服务器和数据库都会有

比如,代码这一层就很关键,你还可以点到设计模式和编程模型,讲一下传统一个请求一个线程的模式和selector模式的区别,讲一下监听模式和广播模式的异同等等,都是多线程编程常见的概念

望你提纲挈领,按图索骥,面试顺利

另外,我码云写了两个项目是关于算法和多线程的,算法的话是java版本的《算法图解》实现,多线程的项目里面东西应该对你也有帮助,不要急,一步一步走就很快了

单台的情况不管你怎么优化,你的代码写的在好,都提升不大,单台可以支持的服务量是一定的,很快就到瓶颈。

解决高并发问题,肯定涉及的是集群/分布式的概念:
应用集群/应用分布式。
缓存集群。
数据库集群。
....

然后再单点展开
1:比如redis缓存怎么集群,具体有什么实现方案,到网上搜索,按照例子自己实现以下。
2:应用怎么集群,分布式怎么实现。
.....

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题