2020有赞Java⾯经,已拿offer(附答案和思路)
这是学习⾥⼀位⼥同学秋招⾯试有赞的⾯试题,还在校的同学把握好学⽣的红利期,把握好秋招。
以下为⾯试过程,因为该同学简历上的项⽬也是我提供学习的,所以下⽂的答案全部由我进⾏整理。
⼀⾯:(36min)
⾯试官⼈很好,问的⽐较细,但是我不会的地⽅会慢慢引导。
1、⾃我介绍
⾃我介绍可分为三层,第⼀层介绍基本信息;第⼆层介绍实习经历和项⽬经理及⾃⼰擅长的技术栈;第三层简单说下你的性格兴趣爱好等。⾃我介绍时间把握在1-2分钟,把⾃⼰的优势和擅长点讲出来。平时可以对着镜⼦多练练,讲的清楚⽐什么都重要。
2、java的集合看过源码么?HashMap?⾃⼰说了下jdk1.7和1.8的区别(说了头插和尾插,然后⾯试官问这个是基于什么考虑的?还有什么?答了链表数量⼤于8的时候会转成红⿊数,然后问我了解红⿊树么?为什么红⿊树只有红⾊和⿊⾊?)HashMap在多线程的情况下线程安全么?(答得扩容时出现,为什么?多线程已经出现了环,也就是死循环,去查会出现什么情况?HashMap在扩容的时候允许其他线程去查么【⼀个线程在扩容,另⼀个线程在查】?)
3、链表常⽤的数据结构?ArrayList和LinkedList的区别?
Hashmap⾯试的信息量很⼤,⾯试官抛出⼀个点,往往希望⾯试者能较全⾯的去拓展回答。另⼀⽅⾯,数据结构的直接应⽤场景就是集合框架,所以集合框架的底层往往离不开数据结构。
针对数据结构和集合框架,可以看看以下两篇⽂章:
4、介绍下计算机⽹络常见的7层模型或者TCP/IP模型?
参考:
5、HTTPS属于哪⼀层协议?和HTTP的区别?
应⽤层。区别参考:
6、进程之间的通信⽅式?
五种通信⽅式的介绍:
7、使⽤Spring主要实现什么特性?Ioc和AOP?AOP怎么去实现的?为什么我写了个注解或者Spring的配置⽂件配置了就可以识别?延伸到代理模式(代理类和被代理类有什么关系)?适配器模式的区别?
装饰器模式?
Spring知识点总结:
23种设计模式:
8、有什么想了解的么?
可以从公司情况出发。⽐如,您所在的组是做什么业务,⽤了哪些技术栈,接下去架构会怎么样去演变等等。
⼆⾯:(56min)
1、⾃我介绍
2、讲⼀下第⼀个项⽬?第⼀个项⽬⾥边涉及到数据加密和解密的过程,你们是怎么处理的?
项⽬中主要对⽤户的登陆密码和⽀付密码进⾏加密,把⽤户明⽂密码+⽤户ID作为MD5函数的参数,进⾏加密,确保唯⼀性。
3、电商平台的项⽬的架构图画⼀下?
业务架构
技术架构
4、Spring中AOP的动态代理?流程?
⼀⾯的第7题。
5、storm中怎么确保spout正确的传给下⼀个bolt即下⼀个bolt已经接收到?从Storm如何保证可靠性传输的⾓度进⾏回答:
6、说⼀下Dubbo的架构?
Dubbo是⼀个分布式服务框架,以及SOA治理⽅案。其功能主要包括:⾼性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等。
它有5个节点,分别是Provider, Consumer, Registry, Monitor, Container。其中Provider是服务提供者, Consumer是服务消费
者,Registry是服务进⾏注册和被发现的注册中⼼,Monitor是统计服务的调⽤次数和调⽤时间的监控中⼼,Container是服务运⾏容器。
他们之间调⽤的关系是:Container负责启动,加载然后运⾏Provider。Provider在启动时会向注册中⼼注册⾃⼰提供的服
务,Consumer在启动时会向Registry订阅⾃⼰所需服务,此时Registry会返回Provider地址列表给Consumer。如果地址有变
更,Registry会基于长连接推送变更数据给Consumer。Consumer会基于软负载均衡算法选⼀台提供者进⾏调⽤,如果调⽤失败,则再选⼀台。Provider和Consumer在内存中累计调⽤次数和调⽤时间,定时每分钟发送⼀次统计数据到Monitor。
mybatis面试题2020
7、说⼀下zookeeper的leader选举算法?
参考:
8、redis作为缓存如何保证和数据库的⼀致性?
参考:
9、讲⼀下你实习的时候做的⼯作?通过我说的内容问了很多问题
这边别讲太多⽆关琐事,针对项⽬讲⼏点熟悉的点,把⾯试官往⾥⾯带。别让⾯试觉得你做了东西很多,但⼜很浅,但也别为了所谓的⾼⼤上,给⾃⼰挖坑。
10、了解辅助索引么?(说了聚簇和⾮聚簇)聚簇索引和⾮聚簇索引的区别?
参考:
11、mybatis?
mybatis知识点: