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:每秒请求量