Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

2021大厂校招面试题 PDF 下载


分享到:
时间:2021-08-17 09:57来源:http://www.java1234.com 作者:转载  侵权举报
2021大厂校招面试题 PDF 下载
失效链接处理
2021大厂校招面试题 PDF 下载


本站整理下载:
提取码:6dz2 
 
 
相关截图:
 
主要内容:

1.项目相关
介绍一下你简历上写的项目?自己主要做了什么?
 
你觉得项目里给你最大的挑战是什么?遇到了什么问题?如何解决的?从中学到了什么?
 
项目里面会不断出现各种问题,比如数据量过大造成的内存溢出问题,如何让程序运行效率更高,如何证明我们的算法比别人的算法效率高,如何找到新的观点来支撑我们现有的理论,如何向导师和师兄进行沟通完成接下来的工作。
 
项目的架构图能画一下不?
 
觉得项目有哪些地方可以改进完善?(比如:可以加一个 redis 缓存把热点数据缓存起来)
 
有没有遇到过内存泄漏的场景?
 
2.基础问题
2.1 进程和线程的区别?
a)进程是资源分配的最小单位,线程是任务执行的最小单位。
 
b)进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此 CPU 切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。
 
c)线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。
 
d)但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。
 
2.2 进程的调度算法有哪些?(主要)
a)先来先去服务
 
b)时间片轮转法
 
c)短作业优先
 
d)多级反馈队列调度算法
 
e)优先级调度
 
2.3 常用 IO 模型?
关注消息通信机制:
 
a)同步:调用一个功能,在功能结果没有返回之前,一直等待结果返回。
 
b)异步:调用一个功能,调用立刻返回,但调用者不能立刻得到结果。调用者可以继续后续的操作,其结果一般通过状态,回调函数来通知调用者。
 
等待调用结果时的状态:
 
c)阻塞:调用一个函数,当调用结果返回之前,当前线程会被挂起,只有得到结果之后才会返回。
 
d)非阻塞:调用一个函数,不能立刻得到结果之前,调用不能阻塞当前线程。一个输入操作通常包括两个阶段:
 
1.等待数据准备好
2.从内核向进程复制数据
对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待数据到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复制到应用进程缓冲区。
 
e)阻塞 IO 模型:应用进程被阻塞,直到数据从内核缓冲区复制到应用进程缓冲区中才返回。
 
f)非阻塞IO模型:进程发起 IO 系统调用后,内核返回一个错误码而不会被阻塞;应用进程可以继续执行,但是需要不断的执行系统调用来获知 I/O 是否完成。如果内核缓冲区有数据,内核就会把数据返回进程。
 
g)IO 复用模型:使用 select 或者 poll 等待数据,可以等待多个套接字中的任何一个变为可读。这一过程会被阻塞,当某一个套接字可读时返回,之后把数据从内核复制到进程中。(在多路复用 IO 模型中,会有一个线程不断去轮询多个 socket 的状态,只有当 socket 真正有读写事件时,才真正调用实际的 IO 读写操作。因为在多路复用 IO 模型中,只需要使用一个线程就可以管理多个 socket,并且只有在真正有 socket 读写事件进行时,才会使用 IO 资源,所以它大大减少了资源占用。)
 
h)信号驱动 IO 模型:当进程发起一个 IO 操作,会向内核注册一个信号处理函数,然后进程返回不阻塞;当内核数据就绪时会发送一个信号给进程,进程便在信号处理函数中调用 IO 读取数据。

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐