75道Java程序员面试题(从隔壁最大同性交友网站偷的)

71、你对负载均衡这块有认识吗?

负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求数据均匀分摊到多个操作单元上执行,负载均衡的关键在于“均匀”。常见互联网分布式架构上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。

负载均衡有两方面的含义:

1、大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;

2、单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。

72、请说说你熟悉的Linux指令

ls 列出目录下的文件

cd 到某个目录里

cp 复制

mv 移动

rm 删除

pwd 查看当前位置

tar 解压tar.gz文件

mkdir 创建文件夹

touch 创建文件

cat 查看

chmod 设置文件权限

73、简单介绍项目的生命周期

1.需求分析

2.概要设计

3.详细设计(用例图,流程图,类图)

4.数据库设计(powerdesigner)

5.代码开发(编写)

6.单元测试(junit 白盒测试)(开发人员)

svn版本管理工具(提交,更新代码,文档)

7.集成测试 (黑盒测试,loadrunner(编写测试脚本)(高级测试))

8.上线试运行 (用户自己检查)

9.压力测试(loadrunner)

10.正式上线

11.维护

74、说说你理解中的线程死锁

死锁是因为多线程访问共享资源,由于访问的顺序不当所造成的,通常是一个线程锁定了一个资源A,而又想去锁定资源B;在另一个线程中,锁定了资源B,而又想去锁定资源A以完成自身的操作,两个线程都想得到对方的资源,而不愿释放自己的资源,造成两个线程都在等待,而无法执行的情况。

死锁产生的原因:是由访问共享资源顺序不当所造成的

简单的说:所谓死锁,是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

75、 介绍下守护线程

在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)

(1)用个比较通俗的说法,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程才随着JVM一同结束工作。

(2)守护线程最典型的应用就是 GC (垃圾回收器),它就是一个很称职的守护者。

(3)守护线程与普通线程的唯一区别是:当JVM中所有的线程都是守护线程的时候,JVM就可以退出了;如果还有一个或以上的非守护线程则不会退出。(以上是针对正常退出,调用System.exit则必定会退出)

如果对java微服务、分布式、高并发、高可用、大型互联网架构技术、面试经验交流。感兴趣可以关注我的头条号,我会在微头条不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。欢迎分享,欢迎评论,欢迎转发

另:原文链接我发评论区了。


分享到:


相關文章: