互联网寒冬一年经验前端历险记
1年经验的选择不多,基本只能选择快速扩张的公司,所幸最后还是拿到满意的offer~遂来回馈社会,同时也作为自我总结。历时一个月,面了拼多多、头条广告、shopee深圳和新加坡。总结下来,只要每一轮面试之后都做好复盘,反思不足和加深对基础知识的理解,到后面基本上都能过关斩将。
拼多多
总结:拼多多基本上是裸面,所以表现一般般,给的offer也一般般。拼多多的特点是流程很快,周末一天搞定也不用请假!
一面:(1h)
- dubbo与http调用的区别
- bind的作用与实现
- 异步编程的题目
- microtask和macrotask的区别
- 为什么使用vue,vue和react的区别
- stream和同步方式处理文件有什么区别
- promise的编程题
- 一道算法题(忘了。。)
二面:(1h)
- 聊项目
- weex优缺点,有没有替代方案
- dubbo的优点
- 编程:按请求顺序尽可能快的打印所有response
HR
头条
总结:没有坊间传言都是考算法的恐怖景象,还算正常,但有几个点没答好,遂凉凉
一面:(1.5h)
- 关于setTimeout的几道编程题
- vue响应式getter\setter原理
- 判断Array类型有几种方法
- css:实现一个布局,item可以随着容器宽度作出如下变化(item的最小宽度为200px)
- flex有哪些属性,分别代表什么意思
- let const var区别
- 箭头函数与普通函数的区别
- 一道编程题(忘了。。)
shopee 深圳
总结:shopee的一面貌似都比较长,会问比较多的点,也会考察写代码的能力,到这里基本上渐入佳境,总体来说答的还算可以,但也暴露出一些不足。
一面:(1.5h)
- 0.1+0.2等于多少,精度丢失的原因
- 对象继承的编程题
- 异步编程的输出顺序
- 浏览器事件循环
- vue中nextTIck有什么用,怎么实现
- vue响应式原理
- 为什么vue data是一个函数而不是一个对象
- 知道的http头
- 浏览器缓存,no-***和no-store的区别
- let const var区别
- webpack.then原理
- 箭头函数与普通函数的区别
- 快排思路及时间复杂度,如果头尾指针每次相遇都在1/3处,其时间复杂度是多少(orz)
- 编程题:输入任意数量的数组,输出它们的笛卡尔积
二面:leader(0.5h)
- 为什么离职
- 聊项目
- TCP和UDP区别
- DNS服务是做什么的,用TCP还是UDP实现
HR
shopee 新加坡
总结:血的教训,新加坡和深圳不会重复发offer的,这点没事前沟通好。面试都是skype远程视频,难度跟深圳shopee差不多(面试官的态度是最nice的),不同点是多了英文hr面,技术面也多了一轮。
一面:HR(0.5h)
- 全英文,自我介绍,个人情况,期望薪资之类的
二面:(1.5h)
- 一些运用闭包的编程题
- 盒子模型、border-box
- 行内元素和内联元素
- css: 图片自适应撑满容器,但不改变比例
- css: 容器自适应宽高,但比例不变
- 一个flex的场景,计算其伸缩后的宽度
- 谈谈实现一个virtualList的思路
- 介绍项目从开发到发布的所有流程
- 介绍一下用node做健康检查
- 一些node多进程场景分析
- 一道编程题(忘了。。)
三面:后端的leader(1h)
- js中处理大数
- cookie里的字段,httponly有什么用
- 你们的node是怎么搜集日志、怎么做监控
- xss是什么,怎么预防
- 浏览器输入url全过程,越详细越好
- 后续问题:dns查找过程、https与http区别及其过程、为什么要三次握手、浏览器强缓存和协商缓存、TCP重传的机制、浏览器最多能同时发送多少个http请求
- 编程题:
- 找出两个有序数组中的重复项,分析时间和空间复杂度,然后就是不断优化优化优化。。
- 要是数组长度非常大会出现什么情况?
四面:VP
深圳发offer了,就没面了。。