-
面经-有赞Java开发
题目
- 接口和抽象什么区别(这个真的猝不及防没回答好)
- 重写和重载什么区别(重写子类覆盖父类,重载多个同名方法参数不同)
- jvm有哪些理解的东西(讲了jvm1.7与1.8内存模型,java栈的结构,jvm异常,jvm gc回收算法,虚拟机full gc major gc minor gc,判断对象是否已死,可作为gc root的四个东西),面试官提问,判断对象已死当中,计数方法和gc root哪个是jvm使用的,回答的gc root好一点,面试官问,计数方法会好一点吧,只要为0了就回收了,你root还得去判断是否为根。
- 并发方面有哪些理解(讲了,volatile的概念,cas和synchronzied的实现),面试官直接问死锁是什么情况产生(回答多个线程在竞争资源产生的循环问题),面试官紧接着问如果是一个资源会产生死锁吗?(回答如果是两个线程一直在谦让锁就会出现死锁),面试官问线程总有个先来后到,怎么会谦让一个资源呢。(卒),接着问有没有碰到过死锁(就讲模拟过死锁,用jstack排查过死锁的问题)
- 对mysql数据库有哪些理解(讲了myisam和innodb的区别,innodb隔离级别区别域实现,innodb行锁的实现),问了一句myisam和innodb表锁行锁(myisam表锁,innodb行锁),行锁锁的是索引还是一条记录(回的是锁记录)
- java集合类有哪些理解(讲了list set map当中arraylist vector,linkedlist,hashset,treeset,hashmap,hashtable,concurrenthashmap的实现,具体讲了concurrenthashmap的实现),面试官没问。
- mq有哪些理解(讲了rabbitmq的模型,rabbitmq的特性,以及幂等问题),面试官问幂等如何解决(回答吧token存在redis里头,然后检测是否存在token),面试官问,难道不会有并发存token的情况吗(回答redis是单线程的,会有顺序,set同一个值成功会返回操作的行数)。
- 分布式锁有哪些理解(回答了redis的分布式锁)面试官问。除了redis还有其他的吗(说有数据库层的乐观锁,和zk的锁,但是没怎么用,只知道zk是通过增加临时节点)
- 你还有什么想问的吗。
-
相关阅读:
Linux配置环境变量
入坑CV DL一些基础技能学习
(Linux)初探cmake .和make命令
Django rest framework 之分页
Django rest framework 之版本
通用权限框架
堡垒机
kingadmin
CRM 客户关系管理系统
Torando 入门
-
原文地址:https://www.cnblogs.com/xietianhua/p/11345973.html
Copyright © 2020-2023
润新知