Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

记录某次面试过程 #245

Open
louzhedong opened this issue Apr 23, 2021 · 0 comments
Open

记录某次面试过程 #245

louzhedong opened this issue Apr 23, 2021 · 0 comments

Comments

@louzhedong
Copy link
Owner

记录某次面试的过程

以及自己是如何准备的

准备

  1. 简历

    1. 突出自己的优势(比如说名校,带领团队,做出的技术推动),劣势的方面可以少写或者不写,自我介绍事先准备好,突出自己的优势,不要讲太多没用的东西。
    2. 每个技术栈单独一行来描述
    3. 项目经历是重点,挑几个自己觉得做的比较好的,不要把所有大小项目都写进去,尤其不要写自己没做过的项目
    4. 确保每个项目自己都能说出一二三
    5. 讲述项目采用以下框架:
      1. 项目背景介绍,为什么有这个项目,简单描述
      2. 项目所用技术栈,如果是自己启动的项目可以简单描述技术选项的思考
      3. 讲自己负责的功能模块,是统筹整个项目的推荐,负责关键部分,或者是参与了其中的一部分
      4. 项目中一般都会问有遇到过什么难点没有:事先可以总结下,翻翻以往的git记录,也不用觉得自己已经解决的问题就不是难点,因为面试官其实不了解你的项目,你是占优势的。也可以将自己解决问题过程中的思考描述一下。(这块我做的不好,都觉得项目很简单,o(╥﹏╥)o)
    6. 在面试过程中,回答问题可以先思考一下,遇到不懂的问题很正常(所有都会面试官可能还会觉得你在作弊,😆)。不懂的问题可以说自己不懂,然后结合其他知识点来推断出自己的结论
    7. 面试过程中要保存礼貌(使用敬语您,谢谢之类的),面试官都喜欢有礼貌,好相处的人。
    8. 大厂面试都会有写代码的环节,平时在牛客网上多搞搞模拟面试,做做面试题
    9. 约面试一定要约自己觉得舒服的时间
  2. 知识点

    1. JS基础
    2. CSS,HTML相关
    3. 框架及原理,看过源码可以引导面试官往那个方向问
    4. 工程化,性能优化
    5. 网络相关
    6. 基本的算法知识(leetcode上刷,可以选类型刷,先刷树、字符串、动态规划,刷题一个系列一个系列刷,效果会好,每个系列刷个50题,摸清套路,基本上刷这三个类型就能解决大部分问题了,有时间再刷其他的,像图这种就不需要去耍,一般不会考)

    如果要面大厂,56两点也都是很必要的

  3. 面试过程

    1. 一面,视频面试

      1. 自我介绍
      2. CSS选择器
      3. react fiber, react diff原理,问的比较深
      4. tcp 三次握手
      5. https
      6. 讲一讲项目经历中的 可视化海报生成器
      7. 项目中的脚手架工具是怎么做的
      8. 前端监控是怎么做的
      9. webpack tree shaking
      10. 箭头函数和普通函数的区别
      11. 做题
        1. 一道CSS样式题
        2. event loop 题,宏任务,微任务,输出顺序
        3. 作用域题,this的指向
        4. 算法题,给出一棵树,一个target,判断从根到叶有么有一条路径,使得路径上所有节点的和等于target
      12. 反问
    2. 二面,视频面试

      1. 自我介绍
      2. 脚手架工具,有没有发布到npm上,我们能直接使用vue-cli类似命令的原理是什么
      3. 可视化海报生成工具是干嘛的,我拖动一个元素进去如何判断它是属于哪个图层的(我们项目没这么复杂)
      4. react 性能优化
      5. 看你项目中用了微前端,qiankun是怎么做样式隔离的。如果我的子应用和主应用都引用了相同的包,你会怎么做,能单独抽离出来吗
      6. 做题1:用过react-window没,现在要做一个像他一样的长列表(不管如何滚动,保证页面上只渲染不超过视口长度两倍的元素),陷阱:对于key的使用,不要用Index 作为Key,不然会有问题
      7. 做题2:柯里化(实现 add(1)(2)(3)()这种函数,通过闭包,在有参数时将参数保存下来,返回原函数,在没参数时输出结果)
    3. 三面,视频面试

      1. 自我介绍

      2. 上来直接让你画一个你做过的最复杂的系统的架构图,然后讲了一下公司整体的技术框架

      3. 详细描述一下公司的产品体系,商业模式是怎么样的,我们的系统有哪些组合部分

      4. 项目中觉得最复杂的是哪一块

      5. 在管理上你是怎么做的,平时会做些什么工作

      6. 情景模拟:如果下属一直做业务,觉得没成长,你会怎么做。你现在把我当成你下属,我们来谈一谈

      7. 做题:写一个autoComplete,自动补全组件吧。它需要哪些属性

      8. 后续的一个职业发展

    3轮面试结束后就是HR沟通,约HR面,走后面的流程。

  4. 总结

    1. 面试最重要的是保持心态,要抱有一个平常心,这样面试过程中就不会太紧张,也可以发挥的比较好。面试不过,也不一定是自己的问题。所以面试遇到任何情况都是正常的,保持一个空杯心态,总结自己成长上的不足。做好准备,机会自然就会来
    2. 获取面试的渠道
      1. 如果能通过猎头是最好的,应该猎头能最精准的知道你去面试的岗位是真正在招人,而不是刷KPI的
      2. 通过朋友内推,也需要匹配个人简历,不然推了一个不同方向的,结果可能不会很好
      3. 联系HR
      4. 不要去官网投递,效率会非常低
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant