记一次前端面试技术题总结

2018年3月30日21:42:38 发表评论 59

今天到了两家公司面试,10点钟一家,下午3点钟一家,开始的那家面试了1个小时左右,聊之后才发现它们公司真的只专注vue技术栈的开发,没有问到其它技术方面的知识,就连面试题都全是Vue的,很明显他们公司是想招个Vue用的很溜的,而我却只是刚学习不久,当场就回绝我了。不过我没有一点抱怨之情,每一次面试都是一次成长,每一次面试我都做好了最坏的打算,所以没有一个失落和自卑的感觉。

这篇文章我主要是想记录下午这场面试上一些我不会的技术题,不光是满足我的好奇心,更是对我个人技术上的一些提升。

vw和vh分几份,怎么充满全屏

vw和vh和单位%一样的,100vh和100vw充满全屏,这个我当时居然没有想到!!!

你了解过单页面应用吗?

这个我有印象看到过,但是没有理解,也说不出什么所以然来,下面在网上搜刮一个资料总结一下:

单页面应用是只有一张web页面的应用,跳转只刷新局部资源,公共资源css/js只需加载一次。

优点是:

  1. 减轻服务器压力,只输出数据即可,不用管逻辑和页面合成
  2. 更快,用户体验度好
  3. 完美的诠释了前后端分离

缺点是:
1. 不利于SEO
2. 初次加载耗时较长
3. 浏览器导航不可用,无法前进后退

什么是Vue的数据层?

当时我没有很确定的说Data,可能是我理解的不够透彻,然而Vue数据层确实是Data对象的数据,视图层就是template里的内容,这个我确实知道,但是没有果断的说明白。

怎么做seo优化?

其实我认为面试官真正想问的是前端如何做seo优化,而我当时没有朝这个点回答,现总结一下:

  1. 提高页面的加载速度(能用css解决的不用图片,各种文件尽量压缩,减少http请求之类的)
  2. 优化网页结构(html/css/js分离开,以外部文件的方式引入)
  3. 优化网页分级结构(每个页面至少要有一个H1,最好内面要有面包屑导航,加个sitemap页面)
  4. 强调标签的使用(尽量在合适的时候使用类似b粗体,i斜体,code等强调的标签)
  5. a标签和img标签最好加上title属性,更有得利于爬虫抓取
  6. 页面最好设置伪静态,有利于抓取,最好不要使用flash/iframe/图片/视频做页面内容。
  7. 做好必要的404页面,一是用户体验好,二是对蜘蛛友好

Vue的生命周期

  • beforeCreate:创建前状态
  • created:创建完毕状态
  • beforeMount:挂载前状态
  • mounted:挂载结束状态
  • beforeUpdate:更新前状态
  • updated:更新完成状态
  • beforeDestroy:销毁前状态
  • destroyed:销毁完成状态

生命周期就像描述了一个人一生从出生到死亡的每个阶段,Vue的生命周期是指对象从构造函数开始执行到到销毁的时期。

除了get和post,还有什么请求方式?

OPTIONS:

这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用'*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。

HEAD:

与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。

GET:

向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。参见安全方法

POST:

向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。

PUT:

向指定资源位置上传其最新内容。

DELETE:

请求服务器删除Request-URI所标识的资源。

TRACE:

回显服务器收到的请求,主要用于测试或诊断。

CONNECT:

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。

猿梦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: