腾讯云前端面经(笔试+3技术面+HR面)

话不多说,直接上题。(时间周期太长,可能不太全了)

面试周期:从投递简历到收到offer大概经历了一个月左右,所以最好还是不要裸辞,不然心态会裂开。

笔试题:(二面、三面后的笔试)

1、手写bind

2、手写简版promise,基础架子,不用写all、race等api

3、爬楼梯,leetcode-cn.com/problems/cl…(后面面试官问到了尾递归优化)

4、猴子吃香蕉leetcode-cn.com/problems/ko…

5、回文字符串个数leetcode-cn.com/problems/pa…(这道题出现频率很高,朋友面试的时候也遇到了,最长回文子字符串)

一面

一面是电话面试,面试问题(可能记不全了):

1、各种css js基础相关问题,

(1):各种原生方法的使用,基本类型和引用类型,es6中的set(集合)和map(字典)的使用和对应的数据结构。

(2):sort的实现,内部用的插入排序和快速排序(根据排序的量级用不同的方法)

(3):bfc布局规则

(4)项目怎么做的移动端适配?flexible原理(1px问题,通过viewport)

2、说一下原型链,原型链实现继承。

3、http和tcp协议?

4、缓存相关(对比缓存?强缓存?对应请求头)cookie有哪些属性?

5、简单请求?跨域?

6、vue中nextTick的实现,结合浏览器事件循环机制说一下?

7、说说commonjs和esmodule?

6、最近在看什么新东西吗?vue3 beta(其实看得很少,二面问了,自己给自己挖了个坑)

二面

二面是视频面试(面了两个多小时,中途换了个面试官)

1、项目相关问题,项目还是需要好好准备。问得有点仔细

遇到过哪些难点?怎么解决的?做过哪些优化?优化有量化吗?用过哪些loader?plugin?你写的这个插件实现了什么?怎么实现的?sourcemap原理知道吗?(shabi了,因为瞄过一个博客,说知道一点,说了个vlq编码,然后被问得很尴尬,不会直接说不会就好)

2、http和tcp、https、http2(队头阻塞?解决了哪些问题?哪有哪些问题未解决?tcp和udp?)。摘要算法和对称加密、非对称加密大概说一下?摘要和加密的区别?知道哪些加密算法?websocket的使用场景(socket.io降级)?

3、前端安全防范措施?xss攻击和csrf攻击?

4、怎么看待virtual dom?ast语法树了解吗?vue-loader做了哪些事情?vue diff?vue computed和watch区别?computed怎么实现的缓存(dirty)?vue3双向数据绑定实现?createRender?和vue2有哪些不同,提到了函数式编程,说下对函数式编程对的理解。(答得很垃圾,vue3了解不多,尤大的直播没认真看)

5、对MVC (react) MVVM(vue)的了解

6、node相关问题,node的事件循环机制?stream两种模式的区别?看过koa源码都会觉得和express有很大不同,说一下?

7、你写过小程序,说下和写vue有什么区别?然后我说setData会有性能问题(react中setState会有这个问题吗?又给自己挖坑了) 说下jsbrige?

8、时针和分针的夹角?

9、为什么要离职?怎么学习的?有什么问题吗?

三面

三面视频面试,

1、项目相关问题?

2、和很多二面的问题类似

3、为甚么要有同源策略?dns劫持?

4、团队协作,以前的开发流程?

5、职业规划?

6、有什么问题吗?

hr面

。。。。。

关于面试的一些经验分享

面试造飞机,入职拧螺丝。裸面是不可能裸面的,这辈子都不可能再裸面的了!因为它会严重打击你的自信心,面试官能把你虐到怀疑人生。作为一个工作了将近 3 年前端er,来简单聊聊自己面试所做的一些准备。

一、简历篇

如何写好一份简历

1.确定 HR 需要从你的简历获得什么信息?

  • 经验 - 相关工作经验,能否尽快上手项目,降低培训费用

  • 技能 - 技能点及其掌握深度,能否胜任本职工作

  • 潜力 - 学习能力,主观能动性,能否在未来为组织承担更多

  • 动机 - 人员稳定性,是否会在公司待长久

2.STAR 法则

  • Situation - 任务产生的背景

  • Task - 我的任务

  • Action - 对于这个任务你采取了什么行动

  • Result - 你采取的行动得到了什么结果(尽量用数据说话)

  • STAR 法则可以用在工作经历和项目经验中使用

3.简历的各个组成部分

  • 个人信息

  • 基本信息(姓名、年龄、邮箱、手机号)

  • 教育背景(学校、专业、学历)

  • 工作经历

  • 公司简介(组织远景、主营业务)

  • 团队目标

  • 你的目标及任务

  • 你采取的行动

  • 取得什么成果

  • 工作技能

  • 慎写精通(除非你是真的很牛掰)

  • 技能名称尽量写官方专业名称,最好是写出技术栈的组合来。
    如:熟练使用 Vue + Vuex + Element UI 开发项目,Webpack 构建项目,Nuxt.js 服务端渲染

  • 项目经验(最好在留一个比较出彩的项目不要写在简历上,等面试的时候再细说这个项目,给面试官留个惊喜吧)

  • 项目描述(一句话描述项目背景 + 业务)

  • 我的职责(负责做什么 + 怎么做的)

  • 工作成果

列一下简历中自己认为面试官会提问的问题并自己回答一遍

列一下回答不出来的相关技能

二、面试题篇

1.开放性问题

  • 准备自我介绍

  • 个人基础信息(姓名、毕业年份、学校专业、学历和所在公司)

  • 项目(经验 - 是否有相关的工作经验,一般会展开)

  • 技术栈(技能 - 尽量说技术栈的组合)

  • 重要的经历(潜力 - 挑重要的说)

  • 离职原因(动机 - 尽量说个人的职业发展)

  • 项目中遇到的难点,怎么解决的

  • 自己认为做的最好的地方(最大的贡献)

  • 自己的优缺点

2.专业技能

一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题

  • HTML+CSS

  • JavaScript

  • 前端框架

  • 前端性能优化

  • 前端监控

  • 模块化+项目构建

  • 代码管理

  • 信息安全

  • 网络协议

  • 浏览器

  • 算法与数据结构

  • 团队管理

最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。

其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等,免费分享给大家,有需要的朋友【点击我】免费获取,算是一个感恩回馈吧。

由于文章篇幅有限,仅展示部分内容

策略技巧篇

策略

先面 90% 不是自己的目标公司,试试水,总结套路,再去面自己的目标公司

怎么说清楚一门技术

技术产生的背景和原因

  • 它要用来什么问题

  • 为了解决这些问题,技术上要怎么实现什么目标

怎么使用它来解决这些问题(技术规范和实现原理)

  • 怎么使用

  • 实现上述技术目标,要采用什么原理和机制

有哪些使用场景,不同的场景下怎么使用才是最好的

  • 场景1 - 技术方案1

  • 优点

  • 优点1

  • 优点2

  • 缺点

  • 缺点1

  • 缺点2

  • 场景2- 技术方案2

  • 优点

  • 缺点

...
市场趋势和技术演进趋势

  • 有谁在用,技术前景怎么样

  • 技术方向

未完待续...

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):