广州面试,14号一面,16号二三面。

一面:25分钟左右  

1.根据项目问了websocket协议和node.js

就讲了下websocket协议,以及nodejs中有哪些模块实现了这个协议。

2..TCP/IP体系,和HTTP关系。

讲了下TCP/IP体系结构以及每层的主要协议。

3.TCP三次握手详解

说了每一步发送什么,状态变为什么,以及为什么每一步要发送什么。。

4.HTTP各版本比较。

主要讲了下2.0,和1.1,1.0比较了下

5.数据结构学过哪些?

串、栈、队列、链表、哈希表、树、图

6.js如何实现一个栈。

主要就是数组的尾部操作增加、删除。

7.哈希表是怎样的结构?

主要是一种关键字到地址的映射。

8.说说操作系统的内存管理

讲了下分页式、分段式、段页式,还说了下时间片轮转算法。

9.怎么实现一个服务器。

就说没写过服务器,java做的后台一般都是通过tomcat容器来实现服务器的。

nodejs的服务器比较简单,就是调用已经封装好的模块来创建服务器监听端口的。

10.如何删除一个dom节点

removeChild()或者innerHtml去替换

11.浏览器是如何渲染页面的。

讲了下浏览器的渲染机制。

12.查看了我的github代码,问了下代码内容

比如这段代码是干嘛的,是什么意思,主要就是了解下是不是你做的。

13.你是如何学习前端的?

大概就讲了视频(入门)=》文档(w3school/菜鸟教程/MDN/阮一峰)=》书(dom编程艺术/红宝书/understanding es6,/es6入门教程)=》官方文档(w3.org/vuejs.org)

没事转转博客、社区

以及接下来打算学习什么,看什么书。

14.学过哪些框架?

react和vue,并且讲了下学习过程。

二面:25分钟左右

1.自我介绍

balabala

2.说下之前的实习经历,学到了什么。

balabala

3.你是如何学习前端的。

同一面回答。

4.说下前端开发流程。

主要就是大家一起讨论下原型,接口,然后UI设计出原型,后端提供接口,有了原型就可以做界面了,有了接口就可以处理数据了。

5.说下怎么设计接口。

主要就是按照restful api的风格设计,直观语义化。

6.前端开发一般要干什么。

主要就是注意下三点:安全、性能优化、浏览器兼容。

7.讲下常见web攻击。

简短说了下:xss、csrf、dos、sql注入、点击劫持等等

8.讲下csrf以及如何预防。

就说了下csrf,还拿了京东举了例子,具体例子太长,略。

9.你这个攻击好像没什么作用呀。

就说了我只是随便的攻击,实际上攻击者通过你的账户可以做很多你这个账户拥有的权限。

然后又举了银行转账的例子。

10.就算你通过cookie信息也不能登录我的银行账户转账呀。

就说了当然没那么简单,银行加密有层层攻防的,每一层攻防都是假设前面的防御已经被突破了,还涉及到很多加密的东西,具体略。

11.说下性能优化

主要就结合了网络和浏览器运行机制来讲述如何优化。

12.你这是背的还是实际操练过的。

部分背的,部分操练过的,我都是按照需求来的。

不过只要知道从哪些方面可以优化,按照需求优化就行,也不可能每一个都要优化,看项目需求。

13,说下你遇到做项目的困难吧?

说了下做项目时候遇到了跨域,就查了下资料,然后弄了下服务器端搞定了。

重点强调了自己会写博客记录遇到的坑,避免再次犯错。

13.好了没什么面的了,去旁边面吧。

。。。。(就没了?)

三面:15分钟(主要就是拉家常)

1.自我介绍。

balabala

2.什么时候开始学习前端的?

同一面回答,并且说了下最近在学什么。

3.为什么学习前端?(侧重表现自己的学习态度)

就说了下做过移动端、后台、人工智能、桌面端、前端等项目,比较喜欢安卓、前端这种可以看到产品的、视觉化的、色彩鲜艳的,不太喜欢和数据等打交道,balabala

面试官:那你还做后台实习?为什么不做后台开发呢?

就讲了下自己当时打算以后做全栈工程师,就随便找了份实习,工作时候才发现好多东西要学,java后台已经发展得很成熟,spring框架等东西比较多,而我刚出来什么都不懂,

每天都在学框架的东西,记那些配置,只是为了应付工作,没有深入地了解框架如何实现,所以让我学的很不爽,不能掌控的感觉。我想要的是那种从底层就比较了解的感觉,

目前前端让我学的很舒服,会去看jquery、vue等框架如何实现的,最近也在看《你不知道的javascript》深入地学习js,本来以为自己学的差不多了,后来发现了还有挺多要学的。

4.你大学学的课程和前端有关联吗?

就把操作系统、编译原理和浏览器运行机制、js引擎等扯了下。

把计算机网络相关的和前端优化、前后端交互等扯了下。

把应用密码学和WEB安全等扯了下。

把数据结构和算法、算法设计与分析等和其他的也扯了下。

当然图形学、软件测试、数据库、软件工程、系统设计与分析等等都是可以帮助前端开发与学习的。

5.有遇到过哪些困难,怎么解决的?

就像刚刚所讲的,到了一个陌生的地方,发现还有好多要学,但是又要运用到工作上,不能一时把大象吞进肚子里,就很难受。

所以实习时一般要我导师帮我配置东西,我只需要专注于写业务代码。

6.有女朋友吗?

有,不过已经分了,不喜欢腻歪在一起,我比较喜欢自由,这样才有充足的时间可以学(加)习(班)。

面试官:嗯,了解,挺好的。

7.对工作地点有要求吗?可以实习时间。

没有,哪里都接受,不过越近越好。

实习时间可以接受四、五个月。

8.后面又拉了下家常,问了下我的家庭情况,后面要我回家等通知。

(和hr小姐姐是来自同一个地方)

前端高级/架构讨论群:693550522