4 轮面试稳坐 “直通车” 顺利拿下腾讯 Offer!内附真题+简历包装,可上岸!

要说前端老码农们挤破头也要进大厂,你可能见怪不怪。但看到未毕业的大学生都已经在“备考”大厂,老码农们,该醒醒了!

4 轮面试稳坐 “直通车” 顺利拿下腾讯 Offer!内附真题+简历包装,可上岸!_第1张图片

竞争激烈,但动不动就 16薪,18薪的年终奖,更别说股票,期权和其他隐藏福利,哪个前端人能不动心?

长远来看,平台大,机遇多,进大厂就是在镀金!大概率下前途皆是坦途,谁又舍得拒绝?

所以,无论是初入社会的前端新人还是老前端,一定要进大厂试试。

但话说回来,狼多肉少,大厂不好进!瞧瞧大厂在职码农,哪个不是过五关,斩六将,全凭一身武功?

总归实力最重要!朋友刚上岸腾讯,32K*16薪,和大家分享下面试考题,记得收藏!有需要的朋友可以看文末获取

tips:如果要进大厂的同学,还得突击一下算法部分。

面试题汇总

关于HTML

  • canvas 相关
  • svg和canvas的区别?
  • html5有哪些新特性?
  • 如何处理HTML5新标签的浏览器兼容问题?
  • 说说 title 和 alt 属性
  • HTML全局属性(global attribute)有哪些

关于HTTP

  • HTTP有哪些请求方法?
  • GET 和 POST 有什么区别?
  • 如何理解 URI?
  • 如何理解 HTTP 状态码?
  • 简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
  • 对 Cookie 了解多少?
  • 如何理解 HTTP 缓存及缓存代理?
  • HTTP/2 有哪些改进?
  • 如何判断 js 运行在浏览器中还是 node 中?
  • 如何解决跨域问题?

关于CSS

  • flex 布局
  • 响应式布局
  • 什么是 BFC?
  • 盒模型
  • CSS如何进行品字布局?
  • CSS如何进行圣杯布局
  • 浮动布局的优点?有什么缺点?清除浮动有哪些方式?
  • BFC渲染规则

关于JavaScript

  • typeof 是否能正确判断类型?
  • instanceof能否判断基本数据类型?
  • 闭包产生的原因?
  • 闭包有哪些表现形式?
  • 如何解决下面的循环输出问题?
  • 能不能描述一下原型链?
  • JS如何实现继承?
  • 什么是高阶函数
  • 数组中的高阶函数
  • 谈谈你对JS中this的理解
  • JS中浅拷贝的手段有哪些?

关于TCP协议

  • 能不能说一说 TCP 和 UDP 的区别?
  • 说说 TCP 三次握手的过程?
  • 为什么是三次而不是两次、四次?
  • 三次握手过程中可以携带数据么?
  • 说说 TCP 四次挥手的过程
  • 同时关闭会怎样?
  • 介绍一下 TCP 报文头部的字段
  • 能不能说一说 TCP 的流量控制?

关于浏览器

  • 能不能说一说浏览器缓存?
  • 能不能说一说浏览器的本地存储?各自优劣如何?
  • 说一说从输入URL到页面呈现发生了什么?(网络)
  • 说一说从输入URL到页面呈现发生了什么?(解析算法)
  • 说一说从输入URL到页面呈现发生了什么?(渲染过程)
  • 谈谈你对重绘和回流的理解

关于Vue

  • 组件中写 name 选项有什么作用?
  • Vue 组件间通信有哪些方式?
  • Vue 中 key 值的作用?
  • 虚拟 DOM 实现原理
  • 你是如何理解 Vue 的响应式系统的?
  • vue-router 有哪些钩子函数?
  • v-show和v-if指令的共同点和不同点
  • vue-cli 工程常用的 npm 命令有哪些?
  • 对于Vue是一套渐进式框架的理解
  • vue.js的两个核心是什么?
  • vue常用的修饰符
  • vue中常用的UI组件库
  • vue组件的scoped属性的作用

关于React

  • 列出React的一些主要优点。
  • React有哪些限制?
  • 你了解 Virtual DOM 吗?解释一下它的工作原理。
  • 为什么浏览器无法读取JSX?
  • 与 ES5 相比,React 的 ES6 语法有何不同?
  • 什么是 Props?
  • React中的状态是什么?它是如何使用的?
  • 区分状态和 props
  • React组件生命周期的阶段是什么?
  • 详细解释 React 组件的生命周期方法。
  • 如何模块化 React 中的代码?
  • 什么是React 路由?
  • 为什么需要 React 中的路由?
  • 列出 React Router 的优点。
  • React Router与常规路由有何不同?

关于算法

  • 五大算法
  • 基础排序算法
  • 高级排序算法
  • 递归运用(斐波那契数列): 爬楼梯问题
  • 数据树
  • 栈实现队列
  • 天平找次品

▶ 如何写简历才能成为大厂敲门砖

我对于简历的理解是这样的,简历不用很复杂,它是一份「简单的简历」,作用是让阅读简历的人能够快速、准确地捕捉到「有用信息」。

你只要讲清楚你是谁、你在哪儿、你在干什么就可以了。

4 轮面试稳坐 “直通车” 顺利拿下腾讯 Offer!内附真题+简历包装,可上岸!_第2张图片

不对不对,应该是这三点:你是谁 你做了什么 你哪方面比较牛逼

样式/排版

样式

  • 项目经验多的两页足矣,可能你的第三页简历永远不会被细看。实习生/应届生打印正反面即可。
  • 留白原则:留白是中国艺术作品创作中常用的一种手法,在简历里也适用,每一行文字、每个模块之间都需要有一些间隔,使全篇更为协调和突出重点
  • 标准字体:宋体即可,别用那些花里胡哨的字体
  • 简历模板:弱视觉效果,黑白蓝灰四色即可,简单高效。但也别太简约啊,别用表格

简历模块

1.个人信息

2.专业技能&项目经验

3.业务场景使用的技术

4.实习/工作经历

5.教育经历

教育经历这个模块,如果是实习生/应届生,应该将他放在个人信息和实习/工作经历之间,如果是社招,我觉得应该放在最后就好了,毕竟工作经历和项目经历才是重点。

个人信息

个人信息三要素:姓名、电话、邮箱

这是信息是 HR 以及面试官能联系到你的途径,如果因为电话和邮箱联系不上而失去面试机会,真的是太亏了。

如果方便的话,简历上也可以留个微信,毕竟万一出现电话联系不上的情况,面试官还能加你微信找到你。

除了三要素之外,如果你有自己的 GitHub 或者博客,并且觉得还挺不错的,也可以写上来。但是,如果是一个没有 repo,没有 commit 等的 GitHub,还是不用写上来啦。

专业技能&项目经验

专业技能就是你掌握的技术栈。

很多人专业技能是这样写的,并且占了简历的一半内容:

  • 精通 js/html/css
  • 熟悉 es6
  • 精通 vue
  • 熟悉 ant-design 来写页面
  • 熟悉 webpack 和 bable

这里有几个问题,也是写专业技能的时候最忌讳的:

1.技术名词注意书写正确,bable 是啥,一看就不熟悉啊

2.技术名词注意大小写,JavaScript / HTML / CSS / Vue.js 等等

3.写着熟悉 xxx,精通 xxx,真的熟悉、精通吗

如果是我,我会这样用 “了解/熟悉/精通” 来描述我掌握的技术栈。

了解

会使用/用过
了解其思想
没有深入了解过
简单阅读过该技术的文档或者相关文章,知道这么一个东西

熟悉

有大量实践
有深入了解过原理,甚至阅读过源码
遇到复杂问题能够快速想出解决方案
他人提出问题时,可以快速想到答案或者思路

精通

深入理解原理
大量复杂场景实践经验
大量相关源码经验
可以指导他人

我有看过这样的实习生简历,专业技能里至少有 10 个以上的熟悉,3 个以上的精通。但是看他的项目经历,其实还是比较简单的,目测应该是不知道如何描述自己的技术栈。

个人建议,专业技能这里不用写太多,只要写上自己的项目经历里未提到的一些想让面试官了解的技术栈即可。

比如可能工作中是业务开发比较多,工程化涉及的比较少,但是你个人在工程化这块有所涉猎,研究的比较多,就可以把工程化写上,引导面试官来提问。

如果面试官感兴趣,会挑几个技术栈问你几个问题,如果答的也很棒,必须是妥妥的加分项。

当然,在这里写的技术栈都必须是你了解或者掌握的,否则被随便问两个问题就不会了,就变成减分项了。

总结:专业技能请慎重对待,有可能是你的加分项,也有可能是你的减分项。

项目经验:

  • 简历上写的项目一定要特别熟悉,并且所涉及的技术最好能融合我们做过的项目,别看着别人项目牛逼,就拿来吹,面试和背调环节都可能穿帮的。即使没涉及到,你也可以这样说:已经做了主题切换,准备下一个版本上线;
  • 项目的开发时间、开发人数要搞清楚,你负责哪些模块;
  • 项目中所涉及的技术怎么描述,事先需要准备好,背下来;

参考:

1.编程基础扎实,有扎实的数据结构和算法功底;

2.扎实的计算机基础知识,较强的逻辑理解能力和学习能力,理解设计模式;

3.熟练HTML5、CSS3、W3C标准、常见协议、浏览器兼容性;

4.熟练JavaScript,ES6、AJAX、DOM等前端技术,掌握面向对象编程思想,对常见JS框架(如jQuery/Kissy/Zepto/Bootstrap等);

5.掌握Vue、React、argular等主流开发框架;

6.掌握node、express、koa,mysql等后端技术;

7.熟悉移动端和 Hybrid Web 开发,适配及性能调优;

8.掌握canvas,svg,webGL,D3,tree.js等图形处理技术;

9.掌握微信小程序、微信公众号,h5开发;

10.掌握前端自动化构建工具,如grunt、gulp、browserify、webpack等;

11.熟悉前端性能优化方法,如发包压缩、资源懒加载、CDN加速等;

12.模块化、组件化、OOP、MVC有较多实践并有自己的理解;

13.热爱技术、主动钻研、沟通和协作能力优秀,抗压能力强;

14.优秀的分析和解决问题的能力,有较强的沟通能力,责任心和团队意识。

总结:项目经历一定是面试官比较关心的部分,面试中一定会细问的,所以不要啰嗦,挑牛逼的、有意思的东西写,并且自己能讲明白的。

业务场景使用的具体技术

理解业务需求(非常重要)

项目一般不会问你有多少功能,有多么炫的效果,而是随便从项目里面抽出一个细节,问你怎么实现,主要是思路。所以简历里面用到的不说你全部了解,至少要了解它的实现原理和流程,面试必然会问。

  • 谈谈项目的情况;
  • 项目的业务流程、大概情况、项目周期、开发过程;
  • 项目分了哪些模块;
  • 项目采用了什么技术架构,用到哪些工具;
  • 你担任什么角色,完成了哪些模块;
  • 中间用到了哪些技术,有哪些心得体会;
  • 碰到了哪些困难已经怎么解决的;
  • 解决什么问题,用到哪些算法和策略。

实习/工作经历

  • 如实将自己的工作经历写清楚就好了。HR 和面试官比较关心的一般来说是以下几点:
  • 公司名称:全程简称都写一下比较好
  • 职位名称
  • 在职时间:关心的是你工作是否稳定,有没有频繁跳槽
  • 主要工作:简述一下你在公司做了什么事,具体在项目经历体现

实习生/应届生

如果有实习经历,一定要认真写,这是加分项,如果有大厂实习经历,真的香。

社招

如实填写自己最近 2 ~ 3 段工作经历就好了。

顺便提一句,对于一般人来说,还是不要频繁跳槽比较好。频繁跳槽会让人觉得在每段工作中没有足够的思考和沉淀。

教育经历

将学校、专业、入学时间/毕业时间等写清楚就好了。

教育经历对实习生/应届生来说是重点,社招就算非重点了。

实习生/应届生

每一段学历都要写完整。如果你觉得自己的学历是优势,或者绩点突出,可以加粗一下。

还需要注意一下毕业时间,一定是写准确,减少不必要的麻烦。

社招

写最高学历即可。

小结

  • 简历一定要投入百分百的精力认真写
  • 简历一定要真实
  • 写完简历并不代表就不看简历了,对简历内容一定要非常非常熟悉
  • 在校期间:尽量写与自己专业相关的一些东西。
  • 工作期间:工作到现在,在几家公司上过班,叫什么,一定要有这公司。什么时间在什么公司上班一定要与自己的年龄和做项目的时间相符合,切忌!

其他暂时想不到了,我也不是 HR,所以上述内容仅是个人建议,作者本人写简历的时候也是这样写的。如果有不足之处或者观点不一致的地方,欢迎指出和讨论 ~

学习建议

最好一开始就给自己定一个目标,然后立计划,并且给出一个周期,然后根据实际情况不断的调整,并且周期性的总结一下学习情况,是否完成了预期的计划,方向有没有偏移等等。

情况允许的话最好也是找几个小伙伴抱团,良性竞争,毕竟每天看着别人在不断的进步还很有压力的,而且互相之间还可以进行交流讨论什么的,也能互相监督和提醒,甚至可以每周轮流一个人分享自己近段时间所学的东西等等。

一群同频的人就一个主题互相碰撞火花,能达到认知效率的最大值。所以我创建前端自学交流群:想加入的朋友点击卡片链接欢迎入坑

最后祝大家前程似锦都能找到并入职自己心仪的公司,且工作顺利,早日财富自由。

结尾

如果上述问题你答不出来,建议多刷真题!这里给大家提供一份汇集各大厂面试高频考点,重难点的前端学习资料,相信不管是初学的朋友,还是已经工作的朋友,这份资料一定都有你需要的内容。

内容概要:HTML、HTTP、CSS、JavaScript、TCP协议、浏览器、Vue、React、算法等等共【269页】文档

300多道前端面试题部分内容截图(解析和答案)戳此免费获取​

4 轮面试稳坐 “直通车” 顺利拿下腾讯 Offer!内附真题+简历包装,可上岸!_第3张图片

由于整个文档比较全面,内容比较多,篇幅不允许,如有需要获取资料文档的朋友戳此免费获取​

你可能感兴趣的:(前端,前端面试,面试,职场和发展,前端框架,前端,javascript)