大龄前端如何准备面试?

时间: 2019-10-05阅读: 45标签: 面试

前言

今年毋庸置疑是找工作的寒冬,今年出来找工作的每一个同学 都是值得尊敬的。 在寒冬季找工作,虽然略难,但是反过来看也会逼迫我们成为更加优秀的自己。

但是不管是旺季还是寒冬,有一些优秀的同学找工作还是挺顺利的。 所以说还是得提高我们自己的硬实力。

今年前端很明显一个变化就是前端面试里除了基础知识 也添加了很多手写算法以及前端递归小程序。 下面从若干个方向谈一谈需要准备些什么东西。


面试的节奏

面试之前要复习自己所有的基础知识。 算法比较难准备,要提前几个月来看。 基础知识相对容易准备,可以相对延后。 算法可以陆续把leetcode上简单的题目都做一做。 基础知识按照自己的脑图来准备。

在准备好了之后,可以看一下网上的面经,如果对于面经的大部分问题都可以答出来。 那么就是一个准备了差不多的信号。

此时可以找一个朋友给你来一个mock interview。 朋友的mock可以给你很多反馈。 自身发现不了的,包含自我介绍的问题,语气语调,自信心等问题。

接下来可以找一些小公司练练手。 练习练习自己讲讲项目,和基础知识的查漏补全。

如果拿到了一些小公司的offer,那么就可以找朋友推荐去一些心仪的大厂,大厂面试相对较难,所以最好找朋友内推。 内推有朋友可以给你介绍很多你不知道的东西。


简历

作为一个高级码农,项目肯定做的非常多,但是简历也要注意什么可以写什么不能写。 自己复习准备不深的东西最好不要在简历上写,面试官往往都问自己有经验和自己有深刻研究的东西,如果你涉及的技术只是简单使用,简历上写了,被问到一些底层原理,结果没答上来就尴尬了 。

比如你在公司浅尝辄止的做过RN,简历上写了,被面试官问到RN的原理,打包,和Native通信等,如果没有准备就会非常尴尬。 简历上写的技术 最好都复习到任何细节。

比如用vue写了好几年项目了。 以为自己掌握的滚瓜烂熟。 结果别人问了一个基础的Vue生命周期,Watch和Computed的区别,如果没答好,那么在面试官那里印象就非常差。


手写题

今年各大公司都添加了手写算法或者前端递归的题目。 所以要求这部分题目都得提前准备,最好在职期间刷leetcode几个月。 至少大部分简单算法都可以秒杀。 至于前端一些递归和语言特性。 相对来说都比较好准备。 应该2~3周就够用。 这里列举一些高频题。 抛砖引玉一下。

  • 实现debounce

  • 实现throttle

  • 实现bind,call,apply

  • 打印出来html里所有标签

  • 实现一个lazyman

  • 实现一个deepclone

  • 实现快速排序

  • 实现一个数组乱序

  • 实现一个Promise

  • 实现一个LRU

  • 求第K大树

  • 二叉树的深度

  • 两数之和

  • 四数之和

  • 找出一个集合所有的子集

手写题系列请见 2019-大龄前端如何准备面试之手写题


CSS

flex 已经是移动端的标配了。 今年面试中基本很多都考察flex。 所以对于flex-grow和flex-shrink,flex-direction 这些属性必须灵活掌握。 而且对于弹性盒里面的元素的是否会被缩减,以及缩减的规则都会被考察到。 对于高级前端一些深度的特性也会被考察到。

  • vertical-align 为什么没有绝对垂直居中?

  • line-height 的具体含义是什么?


浏览器

http2 是今年一个必考题了。 所以HTTP2 分帧的,多路复用,server push 这些都得深度掌握,只肤浅理解到基本概念 还是很容易被问住的。 推荐大家看两篇文章

MDN HTTP

Google_HTTP2

另外缓存(协商缓存和强缓存),跨域 这些都不赘述了。

  • http2有什么改进?

  • websocket协议和 HTTP2 有关系么?

  • http2 和 1.1 的 pipeline 有啥区别?

  • HTTP2 和 1.1 的 keep alive 啥区别?


框架

现在是Vue和React的时代。 小厂追求糙快猛基本都是Vue。 规模大一点的公司基本都是React。 不管是哪个。 今年面试绝对不紧紧停留在表面,Dom Diff,Virtual Dom 成了必考题。

  • Virtual Dom 是否可以提高性能?

  • 怎么看待Dom Diff? Dom Diff算法是啥?

  • 如何设计一个组件?

  • Vue发展问题在哪里?


错误收集

错误收集也是一个点,有可能会考察到各种情况出现错误的情况。

  • Node中的错误怎么捕获?

  • Node中遇到错误,进程退出了怎么办?

  • Promise的错误如果统一捕获?

  • Promise中的ajax 可以try catch 到么?

  • 如何实现一个前端错误收集系统?


性能

Web性能啥时候都是一个必考题。 针对Web性能。 推荐大家看 Google的文档(需要翻墙) 。


Webpack

webpack 基本会考察到各种loader,plugin的名字和使用方法

  • 用过哪些插件?

  • 如何做性能优化?

  • code split 怎么做?

  • 什么是treeshaking? 注意些什么?


移动端

JSBridge 原理 和 离线包成了必考题。

  • 移动端如何做适配?

  • 一像素问题怎么解决?

  • JSBridge原理是什么? 如何设计一个JSBridge?

  • 离线包怎么设计?

  • Hybrid  H5开发需要注意些什么?

  • Webview的缓存机制是什么?


直播方向

  • 直播协议都有什么?

  • WebRTC是什么? 基本原理是什么?


Nodejs

高级码农都或多或少写过一些nodejs。 但是nodejs 的面试问题很难准备。 平时可能写的很6,但是面试不一定能答得出来。 通常大家都会问你的Nodejs在处理什么模块。

  • 项目中的中间层Node 在处理什么问题?

  • Node 的Cluster模式是什么?

  • Node 中的进程和线程啥区别?

  • Node 中如何创建一个进程?

  • Node的多个进程如何通信?

  • Koa2 中的 context如何实现?

  • 如何监控Node?

  • Node中的日志如何保整串行?

  • Node 挂掉怎么办? 怎么发现其中的问题?

  • Node中的事件循环是什么?


安全

  • HTTPS原理是什么?

  • 如何劫持HTTPS?

  • XSS 是什么? 如何防范?

  • CSRF是什么? 如何防范?

  • 如何应对重放攻击?


管理类

对于一些同学,走到高级阶段或多或少有一些管理人的经验。 综合看来这部分不是那么重要。 各大公司还是以技术为主。 考察这方面相对较少。

  • 你怎么管理你的团队?

  • 怎么做code review?

  • 你对管理的理解是什么?

  • 你怎么打绩效?

  • 对于绩效比较差的同学你怎么沟通?

  • 你如何来激励你的团队?

  • 有没有遇到一些管理的问题?


前景

  • 你对前端发展趋势怎么看?

  • 最近接触了什么新的技术?


职场发展

对于大部分普通人,最好能有一个大厂的经验,一方面大厂做东西会相对较深,另外一方会有很大加分。 当时我也承认小公司有很多能力很强的人,但是非常多的面试官都是学历控和大厂控。 有了这样的经验,找工作起来就会相对容易。

谈一谈工作的延续性。 工作了一些年之后,我们不管做前端还是后端最好和一些业务或者技术 结合起来,两份工作,或者三份工作有一定的延续性。 比如你做直播,那么往后就继续做直播。 你做招聘系统,下来的工作继续做招聘系统。 你做广告系统下一份工作就继续做广告系统。 这样你的积累就不仅仅在通用技术这个点上,也有一部分业务在,下一份工作就更容易做出成绩。

在说说细节的方向。 前端的技术日新月异,可以大胆的预测5年后,可能也不是vue和react的天下了。 可能我们在用xx框架,那么工作10年的码农 用xx框架 和一个工作2年的使用xx框架区别在哪里? 这是我们大龄码农需要思考的。 所以我们能积累下什么?这些是我们需要思考的。 我认为在前端的一些方向上必须有所积累。 比如 WebGL,Canvas渲染,直播等。 就是以后把自己不要标榜是一个前端。 而是一个WebGL前端,直播前端。 这样才会利于我们大龄之后的发展。

最后附上本人整理的一个前端手写算法的集锦。 如果感觉到对大家有帮助,那么请给个star。 https://github.com/scofieldfan/turtle-rock


链接: http://www.fly63.com/article/detial/5790

面试官,不要再问我三次握手和四次挥手

三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。见过比较典型的面试场景是这样的:

全网最全的http面试答案

HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法,HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT;这些方法的具体作用是什么?

Js字符串类面试题

解析 URL Params 为对象;模板引擎实现;转化为驼峰命名;查找字符串中出现最多的字符和个数;字符串查找请使用最基本的遍历来实现判断字符串 a 是否被包含在字符串 b 中

JS常见的面试题

在现代js中,let&const是创建变量的不同方式。 在早期的js中,咱们使用var关键字来创建变量。 let&const关键字是在ES6版本中引入的,其目的是在js中创建两种不同类型的变量,一种是不可变的,另一种是可变的。

HTML5的新特性(面试必备)

面试前端的时候,有可能面试官会问你,让你谈谈对HTML5的认识。在教材上有关于HTML5新特性的概述,我觉得有必要整理一下,可以让自己对HTML5有一个比较全面的认知

面试时如何优雅地自我介绍?

有读者提问:如何在面试当中做一个最好的自我介绍?结合了一下自己面试以及面试别人(模拟面试)的一些经验,简单总结了几点,供大家参考。

必须懂的Js面试题

JavaScript 是一种轻量级的解释型编程语言,具有面向对象的特性,允许各位在其他静态HTML页面中构建交互性。 该语言的通用核心已嵌入Netscape,Internet Explorer和其他Web浏览器中。

程序员面试必备的5个问题

年年有面试,岁岁有面试.如果说工作内容占据了职业生涯的90%,那么面试就占据了10%.面试决定了我们是否可以进入某个公司,是否可以谈判一个较高的薪水,是否可以胜任某些重要的职位.

常见的三个JS 面试题

本文不是讨论最新的 JavaScript 库、常见的开发实践或任何新的 ES6 函数。相反,在讨论 JavaScript 时,面试中通常会提到三件事。我自己也被问到这些问题,我的朋友们告诉我他们也被问到这些问题。

作为面试官,我究竟想问什么?

其实不得不说,找工作,真的七分实力,三分运气。不同的面试官有不同的看重点,所以千万不要为一次的滑铁卢而丢失信心。基本面试这是必然的开场,笔者在公司也稍微面试过不少人吧,高峰期基本每晚都要面试一两个

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全