面试题集锦(一)

阿里一面 岗位:web前端开发
1 从技术的角度来介绍一下本身
回答:你们能够从这样几个方面来介绍本身:css

  • 如何学习:学习经历为主,掌握了哪些语言,如何学习(能够讲实验室)以及为何学习前端
  • 掌握技能:已经掌握了那些框架技术(熟悉/了解),对于本身的优点(好比是一个新的框架,讲出来明显会给本身加分的那种技术)着重提一下。
  • 项目开发:作了什么项目,使用了什么技术,学会了哪些。
  • 学习计划:接下来的学习方向(不局限于前端),看博客/书/等等。

其实就是自我介绍,把里面那些非技术相关的去掉,不用讲本身性格开朗啦
2 作过项目吗?有哪些?挑一个说说html

  • ”挑一个“,必定要把本身最熟悉的项目、收获最大、使用技术最多、最厉害的项目拿出来描述,建议流程:项目开发背景、如何开发、团队使用的技术,项目包含模块,本身负责的模块,使用了哪些技术,碰见了什么问题,本身是如何优化的。

3 Ajax的优缺点(这里直接从之前的笔记进行节减)前端

  • 优势
  • <1>.无刷新更新数据,减小用户等待时间,带来很是好的用户体验。
  • <2>.异步与服务器通讯,不须要打断用户的操做,具备更加迅速的响应能力。减小没必要要的数据传输、时间及节省流量。
  • <3>.前端和后端负载平衡,AJAX的原则是“按需取数据”,能够最大程度的减小冗余请求和响应对服务器形成的负担,减轻服务器和带宽的负担提高站点性能。
  • 缺点
  • <1>.AJAX干掉了Back和History功能,即对浏览器机制的破坏。
  • <2>.AJAX的安全问题。
  • <3>.违背URL和资源定位的初衷。
  • <4>.破坏程序的异常处理机制。
  • 总结:最好讲一下适用场景:[快速的用户与用户间的交流响应、普通的文本输入提示和自动完成的场景 等]部分简单的表达提交或者搜索不用AJax

4 http状态码中的301和302是什么,有什么区别html5

  • 301-----永久性重定向-----表示请求的资源已经分配了新的URL,(举例:存储书签,若是更新了书签资源的URL,之后都要使用新的了,)
    302----临时性重定向---不更新书签;(我以为举例这个书签是一个很好的例子)

5 http请求头: 请求头的组成,能够放什么java

  • 接受 内容 - 响应可接受的类型:Accept: text/plain、Cookie 、Cache-Control: no-cache 等
    这里给你们一个连接:https://en.wikipedia.org/wiki...

6 大家专业是否是还学了java?c++

  • 而后我说没有,学了c和c++,而后问用两个栈怎么变成一个队列?

一个是入列时收集元素,一个是做为出列的缓冲区,主要完成(先进先出原则)web

队列入列时:直接将元素压到栈S1,S1的栈顶元素就是队列的入列元素;
 队列出列时:先判断栈S2中是否有元素,如有元素,说明栈S1中的元素已经全都倒入S2了 
 这时S2的栈顶的元素确定就是第一个入队列的元素,即出队元素。
 若是S2中没有元素,先将S1中的元素倒入S2中,再弹出S2的栈顶元素,即出队元素。

一个字符串中要删除某个字符怎么作?64位机中整型是几个字节?引用做为参数的时候是什么状况?面试

  • 若是是JS,那么调用方法(str=str.replace("l",""); 即便用空串替换待删字符,则是能够实现去除“l”);

数据结构与算法:最基础的前端也要过完剑指offer、常常看看牛客网和letcodeajax

7 熟悉html5吗?而后我讲了新增和删除的标签,他问还有别的吗?
html5:简单分为这几类,回答问题必定要逻辑清楚算法

  • 新增的标签有:<video>、<radio>、<embed>....还有一部分新增的语义化标签(footer之类)
  • 存储机制:localstorage、sessionstorage、二者的差异主要在生命周期不一样(若是面试官不追问,就作简要描述就OK)
  • canvas、WebSocket/WebRTC/WebGL/

8 iframe

  • 用来实现长链接 跨域通讯、历史记录管理,解决ajax化网站响应浏览器前进后退按钮的方案程序调入静态页面比较方便;
  • iframe的建立比其它包括scripts和css的 DOM 元素的建立慢了 1-2 个数量级、Iframes 阻塞页面加载

9 有没有用过本地存储?

  • cookie

    cookie是存储在浏览器上的一小段数据,用来记录某些当页面关闭或者刷新后仍然须要记录的信息,Cookie经过在客户端记录信息肯定用户身份

  • session

    当一个用户打开淘宝登陆后,刷新浏览器仍然展现登陆状态。服务器如何分辨此次发起请求的用户是刚才登陆过的用户呢?这里就使用了session保存状态。用户在输入用户名密码提交给服务端,服务端验证经过后会建立一个session用于记录用户的相关信息,这个 session 可保存在服务器内存中,也可保存在数据库中。
    建立session后,会把关联的session_id 经过setCookie 添加到http响应头部中。
    浏览器在加载页面时发现响应头部有 set-cookie字段,就把这个cookie 种到浏览器指定域名下。
    当下次刷新页面时,发送的请求会带上这条cookie, 服务端在接收到后根据这个session_id来识别用户。
    **cookie 是存储在浏览器里的一小段「数据」,而session是一种让服务器能识别某个用户的「机制」,session 在实现的过程当中须要使用cookie。 两者不是同一维度的东西。

    http://blog.csdn.net/fangaoxin/article/details/6952954/**
  • localStorage
    localStorage HTML5本地存储web storage特性之一,用于将大量数据(最大5M)保存在浏览器中,保存后数据永远存在不会失效过时,除非用js手动清除。
    不参与网络传输。
    通常用于性能优化,能够保存图片、js、css、html 模板、大量数据。
    解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中通常浏览器支持的是5M大小,这个在不一样的浏览器中localStorage会有所不一样。

10 有什么要问面试官的吗?

我问了公司是否是都有在用如今主流的那些框架,他说主流的框架会参考,大多数本身写框架。我又问实习生在我们团队都作什么,他说通常不把实习生当实习生看,就跟团队一块儿作项目,这样成长的更快(简写了,大概就是这个意思)

十一、你接下来有什么打算?

走进阿里,哈哈~
相关文章
相关标签/搜索