记录菜鸡前端面试日记--字节跳动

今天面试字节跳动,前端开发,第一次面试好紧张呢。我一早就知道自己很菜,收到这个面试通知的时候还是蛮惊讶的。当时电话里hr和我说给我一周的准备时间,本来以为还挺好,没想到菜鸡终究是菜鸡,那个星期除了紧张只有紧张,恶补了一些前端的知识,从css到js到es6到计网,结果在面试的时候,都禁不起考究,只能答到一些皮毛。谨以此文,献给菜鸡的自己,方便一年后回来笑话自己。

在这里插入图片描述

1.自我介绍
看了网上很多自我介绍的案例,知道自我介绍还是有很多学问的。不能夸大其词,对提到的东西要十分小心,可能就在后面被问到了。所以我也特别准备了下,提到了css这部分我比较熟悉,给面试官一个心理暗示,好让后面他多点问我这些。好吧,给自己挖坑了。
前言:
面试官问了平常是如何系统学习前端的
问我看了哪些书(本菜鸡这两天才意识到得看书,之前都是看网上的教程,但是买的书还没拿到。

2.css考察
真的开始考我css的东西了,身子一下坐直起来
1)问了position的几个属性值,答了fixed、absolute、relative、static这几个,简单的说了一下区别,提到了absolute是基于上一个设置了static的父级元素定位的(这里我说反了,应该是基于不是static的父级元素定位,好气哦,狂揍自己)。面试官追问:那如果父级定位了一个absolute,子级也定位了absolute,那子级是基于谁定义的呢?开始支支吾吾。。中间还提到了文档流
2)面试官追问叫我解释下文档流是什么?脱离文档流的方式是什么?
https://blog.csdn.net/qq_40421277/article/details/79687268
文档流的概念还真没了解!好想打死自己,就大概瞎讲几句,页面排列的那些,然后脱离文档流的方式说了设置float、设置absolute、设置fixed都是。追问了transform会不会脱离文档流,忘了我回了什么,反正答案是不会的
3)问了怎么做到元素在页面里面垂直水平居中
这个问题经常处理,但是只用几种常规的方法,padding-top+padding-bottom、margin:auto、flex布局、text-align+line-heigth;说完面试官问还有没有其他的,想不到了尴尬
css部分忘了还问了什么了 脑袋一片空白
https://blog.csdn.net/yhbsww0523/article/details/78642043

3.编程
那我们来做一道编程题 把ab-cd-ef转换成abCdEf,我说了下思路,对了,让我写出来,写完有点小毛病,在面试官的指导下改正了,错误有点低级,好尴尬。

4.JS考察
1)问了ES6了解多少?
答set let promise 问还有其他吗 答了几个不太了解的proxy、map坦言这几个不太了解(怕留坑
2)问了let/var的区别
我提到了块级变量、变量提升这些区别,期间还提到了const,追问了const的作用,我说是声明常量,追问那如果在一个const声明的对象里面设置的属性,可以修改吗?我说可以吧,因为是引用类型,可以修改值。。其实不确定,尴尬二连。然后追问,那怎么才能做到不能修改呢?好了 这下真的问倒我了,我坦言不知道,说如果是java的话final可以做到不修改,他对着电脑笑笑,大概在笑我蠢。

实践证明:是可以修改const定义的对象里面的属性的,原理好像还真被我说对了
在这里插入图片描述但是关于怎么可以做到属性不可变,还真涉及到知识盲区了
https://www.cnblogs.com/wccc/p/6732919.html

3)接着问了一个js代码块的运行效果

setTimeout(function(){
	console.log('1');
},1000)
setTimeout(function(){
	console.log('2');
},1000)
setTimeout(function(){
	console.log('3');
},1000)

我说会打出123 都是宏任务按顺序执行 追问是同时打出还是隔一秒打出,我不太确定了 说隔一秒,好吧 又答错了。尴尬
4)我提到了宏任务,面试官追问说一下微任务和宏任务的事件循环机制?(好像是这么说,我不太明白)
随便说了下微任务和宏任务与同步任务的执行顺序,也说了下宏任务有哪些,微任务有哪些。追问了一个微任务里面嵌套了一个微任务,怎么执行。后面不太记得问了啥了,我傻了

5.框架考察
1)问我有没有用过框架,有没有系统学过
我说用过vue,在项目里面用过,用到了父子组件,结果他不问我这个。他问我知不知道vue里面的虚拟dom,额我不知道。那好,下一题
2)vue的双向绑定原理?
我是发布者订阅者模式,但是当时看的别写的博客,太难了,没看懂,学java的时候各种模式快把我搞死了,对模式很恐惧。

6.问了下计网的东西
本来以为这方面我在面试前看了,应该没什么问题,结果他问我
http和https、http2.0 http3.0的区别以及新特性
额。。这个 我只能说下http和https的,另外俩,我不太了解,真好,又是被自己的菜鸡气死的一天
https://www.cnblogs.com/WindrunnerMax/p/12808609.html
我提到了公钥加密传回给客户端,面试官追问怎么做到在加密的过程做到不被攻击
额。。我又不会了,菜鸡没有深度

好,接下来我们做一道编程,又到了我最害怕的环节
7.一个二叉树如下:求某个点到另一个点至少经过多长的路径
比如4到5 要输出2;7到2 要输出3

        1
   2         3
 4  5       6  7

我说了下我的思路 就是向上向下遍历一次,找到了就输出,但是我说这样好像有点低效率,我继续沉思,说是不是可以类似于图求最短路径那样,但是我忘了图的算法了,面试官说没有图那么复杂,让我用第一种,肯定可以找到的。好吧,他帮我捋了一下思路,提示用递归遍历,我脑袋懂了,手没懂,递归条件,递归结束条件什么的完全脑袋空白,硬着头皮写,写不出来,面试官说我的这个递归过程好像不太对,指导了我一下,我还是写不太出来,暴风哭泣,此时只想找一个地洞钻进去。

面试官说要不这道题就先这样?(然后面试也就先这样了)
我没瓜系
最后:问我有没有什么问题要问
我说我在这次面试中也认识到自己的很多问题,还是很感谢他用宝贵的时间给我面试,然后问了下系统学习前端应该是怎么学习的,看什么书还是什么?(毕竟前面面试官还是问到了很多我怎么学习前端的东西)
他回答了要看书,js高级程序设计 es6深入浅出 框架推荐我看官方文档,不要只看视频、博客,知识可能会过时。然后对于应届生,他说还是考察基础知识。所以还是得老老实实学习啊!
整个面试持续了一小时,面试官人很好,没有给人有压力的感觉,是个年轻的小哥哥。可惜这次肯定无缘了,誒!
这次菜鸟记估计可以激励我努力学习个三天叭(不是)这次要稳打稳抓基础啦!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值