面试过程中,主要问了很多基础,包括计算机网络:TCP/IP协议,tcp是传输层协议,它会三次握手来建立连接,以及接收到数据后确认这保证了数据的端到端。而UDP只是简单地发送数据,不会确认但是效率会更高。然后关于http协议,http是应用层协议,它是简单的文传输协议,并且是没有状态的,它是客户端服务端模型,只能由客户端向服务器发送数据。它主要的请求方法get, post, put, options, patch,trace, delete等。它可以支持请求不同类型的文件,html, xml, json, image等。然后又因为http是没有状态的,所以在客户端层面会用cookie来保存用户的信息和相关网站的信息,而在服务器端也会用seesion保存这次会话,当然这只是web服务器自已的选择。
说到这里又会说到关于,java技术是如果实现web服务器的,所以会问到相关的数据库持久层框架MyBatis,java容器及集成中心Spring,还有SpringBoot省略了许多配置,集成了更多的开箱即用的功能。还有关于jvm相关的知识,jvm的内存模式jmm,内部是基于堆栈的,还有关于垃圾回收机制,当然我的回答比较浅,我只知道在jmm中有老年区和新生区,刚被new出来的代码会放在新生区,经过几次垃圾回收后,新生代会变成成老年代 等等。
然后又问了Linux相关的技术,比如是些常见的命令,如果你平时有接触Linux或Mac OS的话比较容易回答出来,和要是查看系统状态Top, 查看端口占用情况可以用 ps aux | grep port ,当然也可以用 lsof:port 或者 netstat等等,然后文件编辑命令 vi 等,echo也可以编辑文件,chmod授权命令等一些常见的命令。会写简单的shell脚本。
...查看更多