
java高级-java面试
文章平均质量分 88
小米加大炮
天生我材必有用,千金散尽还复来!
展开
-
java面试(8)电商系统定时自动关闭订单如何实现
电商平台自动关闭订单转载 2022-03-23 18:03:08 · 1661 阅读 · 0 评论 -
java面试(7)Synchronized的5种用法
1.同步普通用法这个也是我们用得最多的,只要涉及线程安全,上来就给方法来个同步锁。这种方法使用虽然最简单,但是只能作用在单例上面,如果不是单例,同步方法锁将失效。/** * 用在普通方法 */private synchronized void synchronizedMethod() { System.out.println("synchronizedMethod"); ...转载 2019-11-12 19:43:33 · 316 阅读 · 0 评论 -
java面试(1)如何防止恶意攻击短信验证码接口
防止恶意攻击短信验证码接口方法1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通常设置为60-120秒,前端做倒计时限制,时间未到不能点击发送短信按钮,后台也做时间间隔限制,时间未到不能发送短信。3、IP地址限制:限制每个IP地址每天的最大发送次数。防转载 2018-03-20 14:43:50 · 4251 阅读 · 0 评论 -
java面试(2)关于并发、超卖处理的思路
背景:做电商网站,经常会有各种秒杀和热门商品,所以高并发的处理一直是电商最重要的事情。这里记录下当初自己是如何处理的!!!设置条件:1、本文设计到的并发处理均是针对纵向,不针对横向扩展,即只设计从PHP层面到数据库层面的处理,不涉及多台服务器,集群、大带宽等的横向设计。2、本文中涉及到的高并发并不是淘宝京东等几百万几千万等的高并发,仅仅只是普通最多上万的并发处理3、本文不对悲观锁乐观锁做设计问题:...转载 2018-03-20 15:07:13 · 9203 阅读 · 0 评论 -
java面试(3)SQL优化
对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。任何在Order by语句的非索引项或者有计算表达式都将降低查询速度应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如select id from t where num is null。任何在where子句中使用is null或is no...转载 2018-07-09 15:44:11 · 11573 阅读 · 1 评论 -
java面试(4)SQL军规
注:军规主要适用于那些大企业,有着并发量大、数据量大的互联网业务。这类业务架构设计的重点往往是吞吐量,性能优先,对数据库性能影响较大的数据库特性较少使用。这类场景的架构方向是“解放数据库CPU,把复杂逻辑计算放到服务层”,服务层具备更好的扩展性,容易实现“增机器就扩充性能”,数据库擅长存储与索引,勿让数据库背负过重的任务。必须使用UTF8字符集,新库默认使用utf8mb4字符集。utf8mb4是u...转载 2018-07-09 15:47:56 · 303 阅读 · 0 评论 -
阿里面试题(1)redis的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?
一、面试原题redis的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?二、面试官心里分析如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责?常见的有两个问题:往 redis 写入的数据怎么没了? 可能有同学会遇到,在生产环境的 redis ...转载 2019-04-29 17:27:20 · 296 阅读 · 0 评论 -
java面试(5)Dubbo和SpringCloud微服务架构之间的区别
微服务主要的优势:1、降低复杂度将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。每个服务开发者只专注服务本身,通过使用缓存、DAL等各种技术手段来提升系统的性能,而对于消费方来说完全透明。2、可独立部署由于微服务具备独立的运行进程,所以每个微服务可以独立部署。当业务迭代时只需要发布相关服务的迭...转载 2019-05-23 17:44:08 · 7100 阅读 · 1 评论 -
java面试(6)挑战10个最难回答的Java面试题
1.为什么等待和通知是在 Object 类而不是 Thread 中声明的?一个棘手的 Java 问题,如果 Java编程语言不是你设计的,你怎么能回答这个问题呢。Java编程的常识和深入了解有助于回答这种棘手的 Java 核心方面的面试问题。1.1 为什么 wait,notify 和 notifyAll 是在 Object 类中定义的而不是在 Thread 类中定义这是有名的 Java 面试...转载 2019-08-15 11:45:00 · 837 阅读 · 0 评论