java面试笔记

Java基础:

1. 什么是线程池?
答:线程池是一种预先创建线程的一种技术。常用线程池方法如下:
newSingleThreadExecutor:创建单线程的线程池
newFixedThreadPool:创建固定线程数的线程池
newCachedThreadPool:创建可缓存的线程池
newScheduledThreadPool:创建一个大小无限的线程池

2. 线程怎么返回结果?
答:1. 把最后结果传给实例变量 2. 通过Callable接口的call方法

3. hashmap内部实现原理?

4. 哪些集合类是线程安全的?
答:vector,stack,hashtable

 

服务端相关技术:

1. redis和memcached的区别?
答:
1. memcached可以缓存图片、视频
2. redis支持数据类型比较多,比如list,set…
3. redis支持数据备份、恢复

2. 什么是MQ?
答:消息队列

3. 什么是负载均衡?
答:对系统中的负载情况进行动态调整,以尽量消除或减少系统中各节点负载不均衡的现象

4. 怎么解决并发问题?
答:增加带宽、增加服务器、数据库优化、使用缓存、代码优化、限流

5. 分布式怎么处理数据同步问题?
答:触发器、MQ

6. 如何读取大文件?

答:使用FileChannel(NIO)类或BufferedReader(BIO)类

 

Spring:

1. 什么是spring 事物?事物原则有哪些?
答:通俗来讲,事物就是一系列指令的集合。ACID 原子性、一致性、隔离性、持久性

 

数据库相关:

1. 哪种数据类型不适合建索引?
image,text,bit数据类型的列

2. 怎么获取数据?
答:1. 加载驱动 2. 建立连接 3. 创建Statement 4. 执行SQL语句 5. 处理结果 6. 关闭连接

3. 怎么设计表?
答:…

 

测试:
涉及领域广,深入度欠缺,独立开发部分运营的原理表达不清,对测试和流程改进没有太多思路

 

专业术语:

QPS:每秒请求量

    原文作者:java线程池
    原文地址: https://www.cnblogs.com/beyondchina/p/8075822.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞