京东前端面经(123面详细)
广州面试,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小姐姐是来自同一个地方)
作者:汕大小吴
本文来源于牛客网
——————————
牛客网(www.nowcoder.com)
- 互联网名企笔试真题
- 校招求职笔经&面经
- 程序员求职实习信息
- 程序员学习交流社区