【面经】良品铺子——前端实习

时间 2020-07-30 14:00~14:20

首先自我介绍,
然后问了以下问题:
技术层面:

  1. Ajax中get和post的区别
  2. 如何实现响应式布局,举例
  3. linux命令解压文件命令
  4. 用户直接访问后面的页面网址跳过登录,该如何处理
  5. 数据库连接池了解吗,使用过存储过程么
  6. js中如何将数据结构转成json
  7. 你理解的mvc是什么样的

非技术层面:

  1. 开学了学校还有课吗
  2. 你觉得你的竞争力在哪

面试问题解答
技术:

GET和POST区别

  1. GET传输量小受限于url的长度,POST传送的数据量较大,一般被默认为不受限制,因服务器的不同而异。
  2. GET是通过URL添加请求参数,POST请求是作为http消息的实体内容发送给web服务器
  3. GET请求数据会被浏览器缓存起来,存在网址中,别人可以从浏览记录中查看到,不安全
  4. GET常用于向服务器查询某些信息,POST常用于向服务器发送应该保存的信息(红宝书)

实现响应式布局

利用bootstrap中栅格系统响应式布局

<div class="row">
	<div class="col-lg-4 col-md-6"></div>
    <div class="col-lg-4 col-md-6"></div>
    <div class="col-lg-4 col-md-6"></div>
</div>

在不同屏幕尺寸下占用的栅格数量不一样,(bootstrap一排默认将视窗均分12个栅格),上面代码大屏下每个div占4个栅格,中屏下占6个栅格,这样就做到大屏下一排三个,中屏时一排放两个。

Linux压缩和解压命令

  1. .tar
    解压: tar xvf FileName.tar
    打包: tar cvf FileName.tar DirName
  2. .gz
    解压1:gunzip FileName.gz
    解压2:gzip -d FileName.gz
    压缩:gzip FileName
  3. .tar.gz 和 .tgz
    解压:tar zxvf FileName.tar.gz
    压缩:tar zcvf FileName.tar.gz DirName

tips:根据不同类型的压缩文件,对应的压缩解压命令也不一样

用户跳过登录访问后面网址处理方式

采用session和filter过滤器(待学习)或者cookies

数据库连接池

池技术可以一定程度的优化服务器性能,提高程序运行效率,降低系统资源开销。常见的池有线程池、数据库连接池、内存池、对象池。其中对象池可以看成一个保存对象的容器,初始化时池中创建一定数量的对象,需要的时候从池中取出一个空闲对象,用完后并不直接释放掉对象,而是放回到池中方便下一次复用。其他池的设计思想也是这样,池技术的优势是,可以消除对象创建所带来的延迟,从而提高系统的性能。

Java连接池我们先要了解数据库连接池(connection pool)的原理,Java连接池正是数据库连接池在Java上的应用。对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。

该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据。

Js中对象和json的转换

js对象转json数据: JOSN.stringify(obj)
json数据转js对象: JSON.parse(json)

mvc模式

  • Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
  • View(视图) - 视图代表模型包含的数据的可视化。
  • Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

个人总结:

  1. 学习前端同时要多了解后端
  2. 了解新技术
  3. 多锻炼表达能力
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页