关于本文
本文只做问题记录及部分解答,另外部分解答移步另一篇博客 面试奇谈-解答篇。
分辨函数与对象
分辨dom的层级
正则
自适应正方形,占45%
判断a,b,c,d四个请求哪个请求响应时间最短(promise)
实现一个bind
手写一个弹窗插件
2018-03-08—— 拼多多
- css优化,css放Body前和后的区别
- 原型、原型链、继承
- rem的优缺点
- var a = [] 与 var a = new Array()的区别
- ([“1”,”2”,”3”]).map(parseInt)
- null和undefined
- 栈和堆的区别,前端内存分配
- float时候的position是什么
- 一般做动画时间间隔是多少
- 如何判断链表是否存在环
- 散列表,数组,链表的优劣
- 有已排序数组A,B,如何用最快的方法判断A中有多少元素属于B
- 输入“123”,输出123
- 事件代理事件委托
- 阻止事件冒泡
- 浏览器多进程,模拟多进程
- 进程与线程的区别
- 有什么事件是异步的
- 快排,插入排序
- 最近在了解什么新技术(说了vue)
- 问了es6,es7
- 问了浏览器引擎
- webworker
- every、filter、map、forEach、once
2018-03-06—— 深圳小鹅通电面
- 自我介绍
- 问了项目
- 问了输入url回车之后发生了什么事
- 问了怎么优化(页面优化)
- 我说了js,css,webpack,图片,事件代理,问我事件代理如何实现
- 问了为什么重构项目
- 问了为什么使用这个技术栈
- 问了ng2数据绑定
- 问了http首部认识吗
- 最后说了句,2天没联系你就说明不过,这个是直接凉了吧//
2018-03-05 —— 蚂蚁金服电面
很多说不出来,说了思路,有些对了有些错了。不求能去,但真的见了世面了。。。
一面,可能有且只有一面
问了技术栈
- 我说前端ng2,后端go,数据库postgresql
- 问了还有没有了解其他,我说了在看vue,说了二者语法类似
- 问了双向绑定,脏检原理
- 问了express,我说就做完简单交互就没了
- 啊补一个,问了jenkins,我说了大概思路
问了好多es6
推荐去看ECMAScript 6 入门 – 阮一峰
- 我先说了let,const,promise,generator
- 又问了数组解构
- 问了promise的3个状态,我就只记得pendling
- 问我用promise如何实现:同时发送几个请求,但是需要等到所有请求结束再执行回调。。我大头得问他为什么不用generator。
- 他说promise可以实现generator
- 问了了解箭头函数吗,跟普通函数的区别(没答出来)
问了lodash
- 我说了大概就是做一些公共的组件,然后存放在一个地方,方便使用。他说大概就是这么个东西。后面又问了什么,我忘记了。(不怎么对)
问了css
- flexbox
- 盒子模型,区别,如何让单独某个div进入怪异模式(后面这个没答出来)
- 问了dom回流重绘(不会)
问了存储
- 其实这个是我自己说的,因为问了我css,我css巨弱,就跟他说我还在系统学习,就像项目中xxxxxxxx,然后说到了sessionstroage、localstroage,然后问我二者的区别,说完问我还知道别的吗,我说了cookie和session算不算,说了前后端交互的过程,说完补刀了manifest,说了优点还有机制。
问了怎么优化
- 我说了webpack,js,css之类的,减少http请求
- 问了图片,我说base64 雪碧图 ,ng2AOT自带打包雪碧图,
- 问了懒加载,我给他说了思路之后,他问我怎么监控是否到底页面底部(答不出来)
问了原生ajax请求
- 我说了new一个xmlhttprequest对象,然后发请求,根据返回的readystatus来判断回复的状态
- 问了项目中怎么使用网络请求的,我说了对get,post做一个封装,减少一些冗余代码。
问了攻击
- 我说注入,xss
- 问我怎么防注入。我说了前端做下过滤,后端用sql变量。
- 问了跨域(项目+总结)
算法
- 写一个get函数用来取数据,有个object,下面有多级,有孙子,孙孙子,孙孙孙子。。如何从某一级根据键值对拿出一个键,我答了柯里化,不知道对不对。。(后来发现牛头不对马嘴)
- 说了我的博客有排序算法,问我知道什么排序算法:说了冒泡,快排,插入,选择,js自带的排序。问我复杂度。
- 问了数组去重,我说了一开始用过一种蠢方法,后来有新方法,印象是什么form,一句代码就能解决。(查了下是return Array.from(new Set(array));)
还有我又说了我在看书
- js高级程序设计
- css权威指南
问我有没有想问的
- 问了实习生的培养,他说主要是项目驱动,有代码审核,有经验分享会。
- 其实应该问下我的表现怎么样//(逃
2018-02-28 —— 理想信息产业有限公司面试
写在前面
今天去的地方怪怪的,说是中国电信的一个子公司,总部在上海,广州有几个办事处。。我去的地方在居民区。。他说是环境最差的一个,专业的hr也不在。
技术面
有2个人面试,一个是前端开发的,另一个可能是经理,问的东西不多,所以其实也没什么好总结的。
问了跨域,我把总结的东西基本都说了一遍,但是回来仔细回想了下好像答的不是很好。下次回答思路应该如下:
jsonp:实现原理
<script>
标签,回调获取数据;
优点:不受同源限制,能兼容旧版本浏览器;缺点:只能get。
- cors:非简单请求:json,put,delete。服务器处理2次请求,压力大;
简单请求:get/post。然后要引入讲到cookie,session。
问了做过的项目,我觉得 答得也不是特别好,我直说了做过什么项目,应该引入项目里面遇到的问题。
- 问了会不会写文档,有时候要帮忙写文档。
- 问了有没有了解vue,react。
- 问了有没有了解ng1。我说没写过,但是ng2比ng1好一点,具体体现在双向绑定上,ng1是双向数据流,检查次数很多,ng2是单向数据流,只检查一遍。
- 问了我简历上写的项目重构的事,我就说了类似数据结构优化之类的。
- 然后问期望薪资,我说了3-4k。
- 问我有没有想问的,我问了他们公司跟电信什么关系,他说是电信的子公司,问了环境,问了吃住,问了实习生培养,他说目前没有完善的培养制度,问了要做多久,他的意思应该是做到毕业,然后说实习生没事,半路走不怕违法之类的。问了下转正。。他说5,6k,真的有点嫌弃。
- 然后就没问什么问题了,时长也就18分钟左右,然后就说说人事部没人在,叫我回去等通知。感觉有点凉。
2018-02-26 —— 美的面试
今天一切还算顺利,就是过去的时候被黑车坑了90块车费很心疼。
第一次面试,拿到offer记录一下。
hr电话面(02-25)
问了下日常,还有能全勤吗,然后问了2个基本的问题,js基本数据类型,apply,call,bind。第一次接电话,很紧张,答得不是很好,然后通知我去佛山面试。
技术面(02-26)
笔试题(题真的很多,css我都没写)
- 正则-选择题
- 关于日期的-选择题(month是从0开始的)
- window、location-选择题
- h5增加了2个本地存储-填空题(sessionStroage、localStroage)
- 变量作用域,变量提升,函数提升,后面追问let有没有提升(答案是没有)
- 闭包会导致什么问题 - 问答题(答案是内存泄漏)
- !!typeof “111”===”string” 的boolean值 -选择(后续问了执行顺序)
- 原型链 - 问答题
- 事件委托,事件冒泡,事件捕获,事件的函数- 问答题
- 关于优化 - 问答题
- 关于浏览器兼容 - 问答题(回答了项目中遇到的几个问题)
- 什么是盒子模型 - 问答题
- 字符串反转(想到了很蠢的方法,然后没写,写了思路。面试官说是数组反转)
- ul和li列表的默认样式
- 暂时想到这么多(css都没做所以不记得了,印象中有一道居中,一道flex)。。
面试官提问
- 问了let有没有变量提升的问题
- 还有一道简单的题我写错了。。他在引导我。。我觉得。。我基础实在。。
- 项目中有什么印象特别深刻的(说了项目中遇到的几个问题,关于Angular-cli在微信上的问题,关于ios11图片上传的问题)
- 平时有没有做什么东西(github+hexo这个博客)
- css都不会:flexd、css3
- 数据库问了下mongoDB,我说了用postgresql,以及优点
- apply,call,bind的区别,以及怎么使用参数(后面这个没能答出来)
- 问了express有什么中间件(没能答出来)
- 介绍了他们部门的情况
- 然后说实习生也是有工作压力的
- 然后问能做多久,问我有没有想问的
- 面试官问的都很基础,而且很少问项目,我尽量把问题往项目带,才有东西讲。
- 面试官人很不错,很有亲和力
晚上hr再面(02-26)
- 问了下我说只能实习3-4个月,她说至少要6个月,我问了是不是考虑6个月就能过去,他说是。
- 问了下转正待遇怎么样,她说目前应届生的待遇,就8x14这样子,但每年不一样,都会涨。
- 实习的话2-3k包住+餐补。