写这篇文章的目的是想说说这段时间一直被不断提起搞得人心惶惶的话题,裁员。为什么突然聊这个,本来一直是想避开这个话题的,一是网上已经有了铺天盖地的消息不想要再造成大家的恐慌,二是我身边几乎没有发生这样的事情,没有什么特别大的感触。但是上周五这件事居然发生在了我身边,谈谈我的感受吧。
当然,事件的主角不是我,具体是哪家厂也不方便透露,怕被找上门,很慌…事情的经过我听同事的描述和网上大家遇到的是大致相同的:早上接到HR电话通知,签字后立马进行交接,收拾东西,下午走人,留下一堆坑,和一脸懵逼的其他同事…
听同事说被裁的原因是因为年终评价不好,好在是还给出了个理由,并不是无缘无故的大刀一挥。然而往年并没有听说过类似的事情,说明今天确实是比较冷…
面试之前准备什么?
老实说,我自己平常没事就会看一些面试题,所以我都是直接去面的(当然过程也非常惨)。
建议大家如果准备面试的话,需要做以下准备
背题
看一看最近的面经文,了解现在公司都在面什么类型的题,准备一些常见题,开背吧!如果一些基础的 js 都不会那问题就有点小大了。算法
做一些算法题,lecode 上面的一二三星就够了,前端算法很简单,基本都是初中数学的难度吧。项目
项目回顾,把你做的项目从技术架构到源码都要做到足够了解,至少面试的时候不要被面试官问住了。并且要体现出你在工作中的作用,体现出自驱性。(大公司都很看中自驱性)。亮点
准备亮点,回答问题的时候不用全部回答上来,但是在面试的过程中一定要有亮点(不然你就会得到反馈,面试官说你还行,但是没有过~) 我一般会准备几个点,每个点都保证可以说上半小时。另外一定要了解的很深入,并且能够用自己的话流畅的表达出来!!(我准备的几点,性能优化、工程化、缓存、http)内推
最好找人内推,成功率会提高一些练手
先找几家不太想去的公司(规模差不多)练练手,如果第一次面试就去心仪的公司面试,淘汰率会非常高。心态
心态很重要,面试不过很正常,不证明你不优秀,只是不适合,总结面试经验,为下一次做准备。
如何回答问题?
怎么把自己会的问题说好,这个很关键
逻辑清晰
一定要逻辑清晰,不然即使你知道这个问题的答案,面试官也不会满意,如果你逻辑清晰,即使这个答案不会,面试官也会给你加分。独特理解
现在的面试题大同小异,那么如何体现出你的优势就很重要。结合业务以及你自身的知识储备来讲。深入思考
对每个问题一定要有深入的思考,不然就很难进入大公司了,深度上要有一个拔高才能在面试中获得好的成绩流畅表达
面试就是一个表达的过程,一些问题心里明白不行,还要流畅的表述出来,基本上如果面试官觉得你表达的很流畅,当你讲到一半就不会再让你说下去了,证明已经通过了
还能记住的面试题
- 手写继承
- instanceof 实现原理
- promise 限制并发数
- 箭头函数跟普通函数的区别
- flex 1 全写
- vue 双向绑定原理
- https 实现原理(越详细越好)
- node 进程之间如何通讯
- graghgl 如何优化请求速度
- node 跟浏览器的 event loop 区别
- 浏览器渲染也页面过程
- 如何性能优化
- CDN 优化有哪些
- webpack 插件原理,如何写一个插件
- 缓存有哪些,区别是什么
- 手写 bind、reduce
- 防抖截流
- 遍历树,求树的最大层数。求某层最多的节点数
- node 开启进程的方法有哪些,区别是什么
- node 如何部署的
- node check 阶段做了什么,触发了什么事件
- 前端模块化的理解
- node 如何处理错误的
- 隐式转换
- 数字在计算机怎么储存的
- webpack 优化
- webpack 的 require 是如何查找依赖的
- webpack 如何实现动态加载
- 给你一个项目,从头开始你怎么考虑
- 工作流做了哪些事情
- 如何提升效率与性能
- 未来的规划是什么
- 跨域有哪些
- 网络安全
- 链表与数组的区别
- 变量提升 let const var 区别
- 链表如何遍历
- script 标签中 async 跟 defer 的区别
结尾
我还总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料,免费分享给大家。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。