java面试——问题回溯

背景:用来记录面试过程中遇到的问题,在这里进行记录,下次不要犯同样的错误。

迪普科技

Linux服务器下的top命令
#动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示
cat /proc/meminfo

#快速查看内存占用
free -h

#实时显示各进程的内存使用
ps aux --sort -rss

#相当于win中的资源管理器
top
 
jetty内存优化 
聚集索引和覆盖索引
Sql优化
并发
解决幻读的方式
Spring中的设计模式
红黑树 
Volatile
Abstract
hashmap存储结构
7 8的区别
Ajax重载
Java和c++的区别
读写锁
两种存储引擎的区别
内存模型,垃圾回收算法
工作中用到哪些设计模式
 

 三十所

读写分离的使用
排序算法时间复杂度
排序算法

新网银行

JVM中各内存区域

敏捷开发原则

初始化顺序 静态块 非静态块 父类的初始化过程:

初始化时候,先从父类静态块初始化,然后子类静态块;非静态块随着对象的初始化而初始化,但是在对象初始化之前

静态块只初始化一次,非静态块在每次对象初始化时候都初始化

Hashmaphashtable

数据库事务的四大特性:原子性 一致性 持久性 隔离性 ACID

新网银行面试:(面试的很差劲儿 基本没一个回答的满意的)

堆中对象的生命周期

对于无法垃圾回收的对象怎么处理?

Dubbo是通过什么方式进行服务注册的

什么时候进行full GC

线程池中不能创建线程怎么办

Java678之间的不同

数据库索引问题

OPPO面试

Dubbo 消费者超时时间的设置

线程池中有哪些东西要进行设置

Redis在项目中的使用

卡夫卡 jeknis

多点生活

常用的消息中间件有哪些
Redis的发布订阅功能和其他消息中间件的不同
怎么解决单实例写的问题
线程城池创建过程
内置锁的底层实现 几种锁
集群压力测试,吞吐量多大
消息中间件是否开源
Wait sleep区别
了解公司
 
项目介绍 太屁了
了解哪些开源项目
 spring boot的底层实现
集群中fair实现
Nginx
突出的亮点 qps
解决流量过大的问题
Redis丢弃策略 解决文件过大问题
服务降级
 
数据库优化方法
Spring cloud

华宇

数据库查询——省市 人口 查出人口超过500万的省份
好好练习下,group by ,haveing函数的使用
 
服务化的理解
响应速度慢如何排查
 
集合的区别
 
Inter的大小
(-2)的31次方 ~ (2的31次方) - 1
 
Spring cloud
如何建立索引
自我介绍
如何保证原子性 那个类
丢弃策略
创建线程池
Cas
迪米特法则
 
设计模式举例
容器中的迭代器模式(iterator)、适配器模式(java.util.Arrays#asList() )

中建

String string build
 
学生表 成绩表 查询不存在成绩的学生信息
 
链表用树实现
调用redis存对象时候经过了什么步骤
Mysql隔离级别 深入理解
Aop cglib如何实现的
哪些情况下线程访问同一个变量
Redis集群是怎么实现的 一个数据写集群经过哪些步骤
数据结构之间的区别 什么时候用什么?
Mysql索引,非聚集索引用什么 索引是怎么分类的
Hashmap concurrent
Zookeep如何实现高可用原理

中国移动成都研究院

spring mvc的流程图
事务的隔离级别 相关影响
 
sql语句 查询成绩的范围,开闭区间。
< , >,  >=,<=,between
 
不能用来修饰Interface的修饰符

不能用来修饰Interface的有( )

接口可以使用public和默认的进行修饰。

接口中的方法可以使用public和默认的进行修饰。报错信息:only public & abstract are permitted。

成员变量使用使用public和默认的进行修饰。接口中可以允许成员变量使用static和final进行修饰

阿里

Threadlocal底层实现,注意事项
hashmap null值取值过程
数据库悲观锁乐观锁实现
索引失效
序列化方式
虚拟机参数,oom 查看
Spring的加载过程 static initiate
Spring事务的传播行为
幂等性  分布式锁的实现
Redis一致性哈希
项目中遇到的挑战
Map能存储int类型吗
不能存储基本类型,要存储封装类型
为什么要有迭代器
开闭原则,同意的抽象接口iterator

中电十所

大数据
事物中数据的传递
垃圾回收打印信息 
集群怎么实现事例的监控
 
可重入锁的底层实现
ReentrantLock主要利用CAS+CLH队列(带头结点的双向非循环队列)来实现
synchronized :monitorenter monitorexit。jdk1.6之后对锁进行了5个方面的优化。
 
Java注解的实现
 
集群搭建总是问
Java8的新特性
lambda表达式  注解功能的增强 接口默认实现静态方法 新的时间日期防范 hashmap的底层实现 、java.util.stream 、jvm永久代放在堆上
 
数据库事务的底层实现
 
永久代在哪个区域
永久代就是方法区

美的

Redis锁和zk锁的区别
会话断开时候释放锁
 
数据库中悲观锁和乐观锁的使用,注意,全局索引
 
Dubbo生产消费的过程 有没有看过dubbo的源码
 
线程池oom
 
栅栏
CountDownLatch 用来控制一个线程等待多个线程。await  countDown()计数减1
CyclicBarrier 用来控制多个线程相互等待,只有等多个线程到达时候,这些线程才会继续执行。 

CyclicBarrier 和 CountdownLatch 的一个区别是,CyclicBarrier 的计数器通过调用 reset() 方法可以循环使用,所以它才叫做循环屏障

CyclicBarrier 有两个构造函数,其中 parties 指示计数器的初始值,barrierAction 在所有线程都到达屏障的时候会执行一次

 华西证券

感觉技术上没问多少,主要问项目相关的东西
项目上 介绍的业务
以后每一段工作经历中的积累也要作为面试的内容好好准备

京东

集群中调用链的保证
Lock底层实现
 
B+树的好处
基于范围查找,磁盘代价更低,查询更稳定
Spring源码
数据库同时insert死锁问题
 
事务异常传递
结束线程的方法,shutdown和shutdown的区别
 分表时候后台做了什么逻辑处理

平安科技

String为什么不可变
如何排除线上OOM
jetty和tomcat的区别
jetty相比tomcat是轻量级的servlet引擎,在分布式环境下消耗的资源更少。tomcat很多功能也用不上,jetty可以很方便的基于Handler来进行扩展。
 
部署工具为什么不用spring boot
如果对数据库中的男女字段建立索引,会怎么样
java中的泛型
dubbo集群中怎么监控节点
nginx服务器添加删除节点需要重启吗
mybatis如何实现分页的
oracle分页的实现原理
集群中如果要减少tps 怎么做
发布订阅模式 怎么确保订阅者收到信息呢
是否了解netty
NIO BIO

共同问题汇总

java 各版本之间的区别,java8的新特性

jdk各个版本之间的差异

微服务框架psring cloud

虚拟机参数 oom排查

spring 的生命周期

dubbo服务和注册的源码实现过程

dubbo redis集群 elk相关

面试体会

最好约在下午面试
面试一定要准点,本来是下午两点的面试 因为迟到半个小时 被安排在四点多
要根据公司具体的工作强度来提薪资,移动和平安科技自己都提的太高了
 
 
 

 

 

 

原文地址:https://www.cnblogs.com/lixuwu/p/10520730.html