面试问题总览
-
如何理解前端和服务端
-
如何理解面向对象
-
servlet是啥?
-
Java和Python的区别
写在开头:这次面试说实话还是给我上了一课。我不想用"紧张”来当作这次面试被当作沙口一样在十个面试官面前坐牢的原因。只是觉得自己真的还有特别多的知识需要去完善,需要去学习。也让我真正体会到了“只学会课本上的知识你连计算机入门都算不上”这句话。这篇博客就用来缓解一下自己面试破防的郁闷心情,并将面试碰到的问题进行复盘。
如何理解前端和服务端
这道面试题被问的时候愣了一下,因为很少有听说把前端和服务端放在一起比较的。听到的比较多的说法是:前端-后端 ,客户端-服务端。这里简单在这里用自己的话阐述一下这四个概念,先贴一张图
客户端和服务端
首先介绍客户端和服务端,拿一个平常生活中的小例子来说明这两个概念:首先拿起手机,点开知乎。这时候你手机上的知乎APP就是一个客户端,启动知乎后,你的知乎APP就会去请求服务器,请求它返回信息。服务端接收到客户端的请求后,会去访问数据库,做一些类似于用户身份验证等等,并从数据库中取出你请求的资源。准备返回页面来响应你的请求。数据库访问完毕,并准备好返回给客户端的数据后,服务端就会响应客户端的请求,并给你返回那些从数据库中取出的内容(如热榜,推荐内容等等)。
以上介绍的是C/S的模式,还有一种特殊的客户端/服务器的方式是B/S,即浏览器/服务器方式(Browser/server)。我们平时浏览网页就是用这种方式来与目标网页的服务器通信的。
客户端的请求和服务端的响应还涉及了很多知识,如请求方式和返回的数据类型。
get和post
这是两种客户端请求服务端的方式,从字面意思很容易理解,get是从客户端拿到资源,post是从客户端发出信息,等待服务端的响应。
- get方法请求到的界面是静态页面,是可以存入cache缓存的,使用这种方法如果想要从客户端这边传送参数的话一般会使用QueryString参数进行传送