美云智数 Java实习 一面

1. 一个1000个字符的字符串,一个1000000个字符串的set集合(最长15),怎么判断字符串中是否包含set中的字符串
2. 这个实习的项目的话, Redis 这部分的规划你大概做了哪一些工作? 用过哈希的批量查询吗?哈希最大的量有达到多大?你聊一下那个 z set 跟 set 之间的它的区别跟里面有一些如果可以的话,可以介绍一下它里面的那个原理。 
3. 你的 Redis 是用哪一种分布方式啊?是分布式还是单机。 你了解 Redis 有多少种分布式的部署方式
4. MySQL 的 SQL 优化有什么?
5. 如果我需要将一张表里面有重复数据的,我删我,我需要将它里面的重复数据把它给删掉,然后还原来这张表。  那么这样的话我们可以怎么操作?
6.  Java 的那个线程池跟线程安全这部分,你的了解? 
7. 那 Java 的 GC 的机制的话你了解多少?  Java 里面,假如我在最开始启动的时候,新建对象,不是那个全局的。然后后面的话我就后面还有一系列的操作,但是一系后面一系列操作的话,不会再用到上面所用的这个方法这个类。然后这个的话上面的类会不会被回收? 
8. spring cloud 那些组件的话,有没有其他一些了解? 你有安装过哪些中间件? 
#软件开发笔面经#
全部评论
佬,美云智数怎么样呀
点赞 回复 分享
发布于 06-27 12:09 广东
Spring Cloud有许多重要组件: 1. Eureka - 功能:这是一个服务注册与发现中心。服务提供者可以将自己的服务信息(如服务名称、IP地址、端口号等)注册到Eureka服务器上,服务消费者则从Eureka获取服务列表来调用服务。 - 示例应用场景:在一个微服务架构的电商系统中,商品服务、订单服务等微服务都将自己注册到Eureka。当用户下单时,订单服务需要调用商品服务获取商品信息,订单服务就可以从Eureka获取商品服务的实例信息进行调用。 2. Ribbon - 功能:主要用于客户端负载均衡。它可以在多个服务实例之间进行请求的负载分配。例如,当有多个相同的商品服务实例时,Ribbon可以根据设定的策略(如轮询、随机等)将请求均匀地分配到这些实例上。 - 示例应用场景:假设电商系统中有3个商品服务实例,Ribbon会按照负载均衡策略将来自订单服务的请求合理地分配到这3个实例,避免某个实例负载过重。 3. Feign - 功能:是一个声明式的Web服务客户端。它让编写Web服务客户端变得更加简单,通过定义接口并使用注解,就可以方便地调用其他服务。Feign内部集成了Ribbon,可以实现负载均衡。 - 示例应用场景:在电商系统中,订单服务通过Feign接口定义调用商品服务的方法,如 @FeignClient(name = "product - service") public interface ProductClient { @GetMapping("/products/{id}") Product getProductById(@PathVariable("id") Long id); } ,就可以轻松地获取商品服务的资源。 4. Hystrix - 功能:用于服务容错保护。在微服务架构中,一个服务可能会调用多个其他服务,如果某个被调用服务出现故障(如响应时间过长或不可用),Hystrix可以防止故障扩散,提供降级策略(如返回默认值或缓存值)和熔断器机制(当故障达到一定阈值时,直接断路,停止向故障服务发送请求)。 - 示例应用场景:如果商品服务出现故障,订单服务调用商品服务时,Hystrix可以让订单服务快速返回一个默认的商品信息或者提示“商品服务暂时不可用”,而不是一直等待商品服务的响应,从而保障订单服务自身的可用性。 5. Zuul(或Spring Cloud Gateway) - 功能:是微服务架构中的网关组件。它可以对微服务的请求进行统一的路由、过滤等操作。例如,可以在网关层进行身份验证、请求限流、日志记录等功能。 - 示例应用场景:所有外部请求进入电商系统时,先经过网关。网关可以验证用户的登录凭证,如果没有登录则拒绝访问;也可以记录每个请求的访问时间、IP地址等信息用于审计。 在实践中,安装和配置这些组件主要是通过在项目的构建文件(如Maven或Gradle)中添加相关的依赖,然后在配置文件中设置各个组件的参数,如Eureka服务器的地址、Ribbon的负载均衡策略等。同时,需要编写代码来启动和使用这些组件,比如创建Eureka客户端服务、使用Feign接口等。
点赞 回复 分享
发布于 2024-10-23 09:59 广东

相关推荐

最近学习计算机秋招的东西有点迷茫mysql数据库、redis数据库、java基础多线程忘了背、背了忘,感觉记不住比较深层次东西还有其他基础 操作系统、计算机网络也简单看了点,操作系统东西好多,好多也忘了mysql数据库、redis数据库、java基础多线程忘了背、背了忘,感觉记不住比较深层次东西还有其他基础 操作系统、计算机网络也简单看了点,操作系统东西好多,好多也忘了leetcode刷题也基本是一天俩三道大家都是怎么复习的?
Lorn的意义:1.先看操作系统,选择性看把一些重要机制理解了,底层都会依赖操作系统 2.计网就重点理解七层模型,DNS,TCP,IP就行了,知道一次网络请求发出到服务器处理数据包怎么转换和封装的 3.MySQL这个没办法,数据页和内存类型比较多,顶多就是看着整个内存图好理解一点 4.OS理解之后Redis其实很简单了,高效的关键之一就是把很多IO交给了OS,想着操作系统来理解记忆 5.JUC这个你打开ReentrantLock从Lock()加锁遇到的方法都看一遍,那么同步器什么的基本都理解了,源码大概理解之后就很好记忆了 6.算法这个只能每日一两道坚持刷,短期成效感觉很少 加油重要的是行动起来,多坚持几天就会发现成长的,小登拙见
点赞 评论 收藏
分享
06-27 18:17
已编辑
门头沟学院 Java
更新:主包又倒了,这次倒在二面的前端面。不该投全栈的,前端还是薄弱,本以为投全栈面试可能前后端掺杂,侧重后端的话那应该容易过,结果一面纯后端二面纯前端,二面6分钟就结束了,,现在已经集齐一面挂二面挂hr面挂了。6月已经没怎么投了,这也是最近唯一一个面试。第二次面试超过1个小时,不过这次的面试官很不错,问的都是java,没有前端 说可能会有轮前端面试(有那我就炸了)。整体问的问题简单,通过场景询问问题,问题少但每个问题时间久,不会的还会进一步引导,很好的面试官。1.自我介绍2.讲一讲项目,包括技术栈,流程等等3.项目用到了redis是吧,怎么用的4.redisson的锁底层有了解吗5.看门狗机制,出现异常无限续期怎么办6.redis缓存问题,雪崩和穿透,项目怎么解决的7.java线程理解8.线程池参数及其工作流程(核心线程,队列,最大线程)9.核心线程与非核心线程有差别吗10.线程存活时间会回收什么线程(非核心)11.核心线程怎么回收,线程池有这个设置不(有)12.你对设计模式的理解13.单例模式场景题,如果让你设计一个接口,用来返回用户实例,这个东西是给其他部门用的,你会怎么设计14.你说用懒汉模式,如果人家就是不按你这个接口创建实例,他用user类构造器呢(构造器给私有了)15.那还有什么隐患(反射也可以创建实例)16.是的,那么怎么解决(枚举)反问环节…大概记得这些问题,不过不知不觉聊了一个小时,能过就去,不能就回家了,要是有前端面那估计我不会面了,前端就学了小几个月,只会用cursor之类的ai写写,八股一点没看。
查看16道真题和解析
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-19 14:35
点赞 评论 收藏
分享
评论
4
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务