关于我第一次面试的这件事

Jsweet的博客

前言

在一个水群的一天,我认识了一个正在字节实习大牛,为什么说他是大牛。因为同样大三,我还在学校苦逼,大牛以及是第二段实习(太强啦)。然后他在群里说他现在的部门还有个hc,ohh,我刚好前两天查了我在字节的流程锁以及解了------因为在牛客上乱搞,然后被锁住了:(------于是,我找上了这位大牛,在他的建议下,开启了海投!

hhh,由于我简历太la,被这个大牛内推后,直接简历就挂了

关于海投

在进行海投后,大部分都是石城大海的,Boss上基本上没人鸟我这个蒻冀,但是一下子投上瘾了。除开在Boss上丢,我还去了牛客上头,应该是运气好,遇到了个字节内推和滴滴内推的。然后我就约到面试了。

这个时候的我是比较激动的,毕竟是第一次,有面试,至少不是简历挂。(这说明我也不是太拉嘛)

滴滴一面,二面

讲真的,滴滴的面试并不是很难。两位面试官都很友好(日常实习只有两面,今天还没出结果,应该是寄了)。面试跟我在牛客上的看的面经差不多,开始先来个自我介绍,然后开始抓我项目里面的细节问,比如我写了一些优化的东西,monorepo,对于一些工具的封装。基本上是把我列在项目亮点里的全部提出来问了一遍qwq(我丝毫不慌,巴拉巴拉能说一大把)。然后就到了经典八股了,比如什么作用域和作用域链,原型和原型链。大部分都是顺着我讲到什么,面试官就问什么,所以整个面试过程很舒服。

二面就有点小痛苦了,这归咎于我是还没准备就开始投,然后八股文看的少(因为问的基本上都是八股文)。二面问了二十多分钟的项目,然后面试官突然来一句"我看你一面没问过css,那就来点css吧",我内心是裂开的qwq。对于我这种flex重度用户来说。结果也很明显,答的一团糟。两轮面试我都贴下面了,真的很简单。

滴滴一面_牛客网 (nowcoder.com)

滴滴二面_牛客网 (nowcoder.com)

字节一面

跟滴滴一样,先自我介绍和项目走一套,抓了我项目里的几个点问了一下,配置化表单和配置化表格这些,项目问我是丝毫不带一点慌的,不过问优化我估计就得噶qwq。然后这位面试官也喜欢问css,也是一顿折磨,问了一些什么position的属性,然后应用场景等等,也问了垂直居中,不过没加条件(不知宽高),还问了选择器,包括优先级这些。因为我提前示弱了,我八股拉,是flex重度使用者,然后他问我个flex是由哪三个属性组合的,然后我就噶了qwq。然后就到了笔试环节~

第一题:事件循环的题

这种题都是典中典了,把事假循环玩明白随便答,不过出题者要是想ex人,也是个ex人的方法。然后回答完肯定会问事假循环的~

javascript 复制代码
setTimeout(() => {
    console.log(1)
});

new Promise((resolve) => {
    console.log(2);
    for (let i = 0; i < 10000; i ++) {
        if(i === 9999) resolve();
    }
    console.log(3);
})
    .then(() => console.log(4));

console.log(5);
// 结果:2,3,5,4,1
第二题:三栏布局

对于一个盒子左中右,左右100px,中间自适应。如果宽度小于360px就换成上中下。

我是flex直接弄的(毕竟我是flex重度用户)。然后也用到了媒体查询,但是具体细节不知道咋写了,面试官很好,没有追究我qwq

第三问:链表的倒数第k个元素

qwq这个题我是直接暴力的,就是遍历一遍拿到链表长度,此时要么提前存入数组,然后返回arr[arr.length - k],要么在遍历到达第k位置返回

我这个写法给面试官干沉默了,不过也没说啥

我后面问面评的时候,提了一嘴这种写法,他笑了笑说:重在思路嘛。我:内心很慌qwq。因为好像一下子真不晓得怎么写起来优雅了。能跑就行

第四问:函数柯里化

这个题其实我是没写出来的,只写了两层,也就是sum(1,2,3) => sum(1)(2,3),并没有把sum(1)(2)(3)写出来。写的时候,沉默震耳欲聋,好慌,然后脑子就发抽了。

题解我丢着了,我们一起再学学。

javascript 复制代码
// 多参数柯里化;
const curry = function (fn) {
  return function curriedFn(...args) {
    if (args.length < fn.length) {
      // 我知道要递归,但是一时半会不晓得怎么递归了qwq
      return function () {
        return curriedFn(...args.concat([...arguments]))
      }
    }
    return fn(...args)
  }
}
const fn = (x, y, z, a) => x + y + z + a
const myfn = curry(fn)
console.log(myfn(1)(2)(3)(1))

字节大概问的就这些,回想起来也不是很难,没有问网络,没有问框架源码,没有问计算机系统,算法给的也不是那么难。同滴滴面试一样,是个人准备不足qwq。不过我很满意,至少三个面试,两个面评还可以,嘿嘿。而且,我目前学校大三不放人,真要实习,还得旷课qwq。所以接下来就先不投简历了。这三次面试给的收货很大,让我意识到我本身缺陷在哪,需要补哪。虽然大部分是八股,但是有些确实可以多学学。技多不压身嘛。

总结

不管是滴滴还是字节,八股占比还是很多的,我个人在工作室开发来说,crud经历的有点多,久而久之对于这种本来应该是很基础的东西,却忘一干二净(我相信大部分人也是这样)。在业务不断添加的情况下,大部分都是直接组件库一把嗦,更别说我面对的大部分是后台这类的了。这也是我突然相投实习的一个原因。想去扩展自己,换个地方锻炼自己。不想总在舒适圈呆着,就跟我写算法一样,一个简单的dfs我一下子就能秒了,简单的dp贪心等我都能写的很快,但是我却只是拿着滚瓜烂熟的思想去写的(暴搜/遍历)。一遇见没写过,或者不熟的,就很痛苦。比如最近看到的子序列问题。这些都需要我慢慢去探索,慢慢去学习。

大致就这么点想法了,后期会开始抓着薄弱项慢慢去补。一步步完善自己。

如果有想一起刷算法的可以加我,互相交流题目的思路~

相关推荐
学习使我快乐0117 分钟前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
bobostudio199518 分钟前
TypeScript 设计模式之【策略模式】
前端·javascript·设计模式·typescript·策略模式
黄尚圈圈1 小时前
Vue 中引入 ECharts 的详细步骤与示例
前端·vue.js·echarts
浮华似水2 小时前
简洁之道 - React Hook Form
前端
正小安4 小时前
如何在微信小程序中实现分包加载和预下载
前端·微信小程序·小程序
_.Switch6 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一路向前的月光6 小时前
Vue2中的监听和计算属性的区别
前端·javascript·vue.js
长路 ㅤ   6 小时前
vite学习教程06、vite.config.js配置
前端·vite配置·端口设置·本地开发
长路 ㅤ   6 小时前
vue-live2d看板娘集成方案设计使用教程
前端·javascript·vue.js·live2d
Fan_web6 小时前
jQuery——事件委托
开发语言·前端·javascript·css·jquery