字节前端实习一面凉经

字节一面凉经

一开始调试设备调了一万年,更紧张了。。。

面试开始

  • 自我介绍 blabla
  • 项目介绍
    • 讲了一下将请求函数封装成Promise。
    • sqlite,封装了四个操作数据库的函数。
    • jwt,在后面的每次请求中带上这个token。
  • 简述一下Promise原理
    • 答:把Promise的实现基本都说了,除了一个怎么将值传递下去之外。
  • 状态之间可以相互转换吗?
    • 答:不可以,状态只能从PENDING转到另外两个状态,转化不可逆,后面两种状态之间不能相互转化
  • 怎么实现Promise的链式调用?
    • 答:在then中return一个新的Promise对象。
  • 项目中还用到了什么别的东西吗?
    • 答:长列表优化,前端进行了分页。
    • 问:为什么不让后端做分页?
    • 答:因为这些消息存在了本地数据库中。
    • 问:前端怎么实现这个分页的?
    • 答:从数据库中把所有的数据存到本地的一个数组中,然后创建一个空数组,这个空数组是用来渲染到页面中的,在后面的每次触底事件中,从前面的数组中pop一部分出来push到后一个数组中去。

一直到这里都感觉非常棒的,面试官听起来也还挺满意的。


  • 既然到这了,那说一下怎么判断空数组(好像是这样的,反正后来就开始说相等操作符了)

    • 答:可以使用[] == false或者[].length == 0判断是否为空数组(然后我给自己挖了个坑)
    • (沉默)
    • 答:还有的话就是!![]结果是true,但是[] == false的,它们两个的机制不一样
    • (开始搞事)问:那么你可以说一下他们有什么不同吗?
    • (想:好像是一个啥toString啥valueOf,顺序不记得了,就随便说了一个)答:应该是先调用valueOf吧?
    • 问:你确定?
    • 答:应该是吧。。
    • 问: 好,那你看一下下面这两个:
      • null == undefined
      • [] == 0
    • (第一个没什么悬念,第二个应该也是true吧)答: 两个都是true。
    • 问:那分别是为什么呢?它们底层的原理是怎么样的?
    • 答:(实际上慌得一批了已经,感觉踩雷了,这一块一直没记下来)第一个没什么好说的吧,高程上就是这么写的,第二个的话,因为有一个操作数是数字的情况下,会尽力将另一个数也转化成数字进行比较。
    • 问:那么会调用数组的哪个方法进行转化呢?
    • 答:不是很确定,应该是toString吧(实际上应该是先调用valueOf,再调用toString)
    • 问:好吧,那再看看下面这几个:
      • [0] == 0
      • 0 == {}
      • [] == {}
    • (然后我彻底把自己绕晕了,哔哩吧啦扯了挺久,然后面试官跳过了这个问题。)
  • for in、Object.keys、Object.getOwnPropertyNames的区别

    • 答:for in遍历的是可枚举的属性,Object.keys能遍历所有的属性(包括原型链上的),Object.getOwnPropertyNames不能读到原型链上的属性。
    • 问:Object.keys能遍历到不可枚举的属性吗?
    • 答:不是很清楚

到这里我心态已经有点崩了,,,但是感觉还能撑。然后开始问CSS了,本来听她说要问CSS了还松了口气,但是我后来发现,最近的两三周都在看JS,完全忘了CSS的内容了。(所以复习一定不要片面,否则之前会的现在都不会了!)


  • 你们在项目中有使用什么ui框架吗?

    • 答:并没有,我们只是使用了uniapp给的一些组件进行开发。
  • 我看你开发的是一个移动端的app,那能说一下rem原理吗?

    • 答:rem是根据body的属性计算的。
    • 问:body的哪个属性?
    • 答:font-size
    • 问:那它有什么替代的方案吗?
    • 答:uniapp中可以用rpx(尬笑)
    • 问:还有吗?
    • 答:vh那一套吗?(其实她就是想问一下响应式布局啥的,我一直get不到点)
    • 问:那你说说那几个吧。
    • 答:vh是视口的高度,vw是视口宽度,vmin是二者最小值,vmax是二者最大值。
  • 说一下rem和em的区别

    • 答:rem是相对body的font-size属性,em是相对父元素的font-size
  • position有多少种取值?

    • 答:relativestaticabsolutestickyfixed(太紧张了,一下没想起来了fixed,从这里开始心态彻底炸了)
    • 问:说一下他们的区别和用法
    • 答:说了一下relativeabsolutestatic因为记不起来fixed,然后就开始瞎掰。
  • 实现垂直居中和水平居中

    • 牛客的IDE起飞,没有html,然后我完全没有办法调试,就硬是拿js调试器打了个html,可太难了
    • 然后我用flex实现了一下,没问题
    • 问:可以用别的方法实现吗。
    • 于是乎我又写了个margin:0 auto;后面就卡住了,真的就很奇怪,把position完全忘了,之前用得那么溜的
  • 说一下v-model原理

    • 答:v-model是一个语法糖,是@input和v-bind的结合(刚好昨晚看了一下,稍微捡回一点信心)
    • 问:是v-bind了哪个值呢?
    • 答:既然是input组件,那就是value了吧。
  • 说一下兄弟组件之间的通信

    • 答:兄弟组件吗?是$emit()on()吗?
    • 问:应该不行吧,你再想想?
    • 我实在不知道了,没做过,我之前兄弟组件之间传值都是先从子组件传到父组件,父组件再到子组件的(紧张起来,连笨方法都忘了给人家说)

到这里人已经彻底傻了,心态崩完了。然后到了传说中字节面试最难的算法了


  • 两个算法:
    • 中缀表达式 转 后缀表达式(这个,emm,我能说我啥也不会吗,我都没听过这两个名词)
    • 大数相加(这个基本思路都对了,但是好像中间有些什么没有调出来,反正最后结果没出来,面试官说算了,就差不多了吧)
  • 然后就是反问了,这个时候我已经无欲无求了,根本脑子是乱的,就问了一下部门大概负责什么的,啥时候有结果

好了,一面凉经就完了,希望大家能好好学基础,包括计算机专业的基础课还有前端的基础啥的,准备一定要全方位,就没啥了,其实面试的知识点都还好,主要是没记住很难受。毕竟第一次面试,凉也是意料之中的,吸取教训,下次加油!

#实习##面经##字节跳动##前端工程师#
全部评论
实习问这么多吗惊了
2 回复 分享
发布于 2020-11-22 22:47
大家轻点喷,本人真的菜😭
2 回复 分享
发布于 2020-11-22 22:32
借个楼,字节跳动北京前端 社招校招实习都能内推。实时跟进。能捞人哦~
1 回复 分享
发布于 2020-12-05 10:56
实习就这么难吗?!!应届生瑟瑟发抖,不敢找工作了😥
1 回复 分享
发布于 2020-11-25 20:26
感觉好多还挺熟悉,我看那些校招的面经看得我一脸懵逼,感觉自己好像没学过一样😂
1 回复 分享
发布于 2020-11-24 20:25
[0] == flase 不会的点这里:http://www.hhxlc.cn/article/AhIkZqltf1#3__39
点赞 回复 分享
发布于 2021-01-16 18:06
楼主说要转正了没
点赞 回复 分享
发布于 2020-12-03 15:19
大佬,想问一下用牛客网面试怎么写html跟css,没有找到对应的编辑器,只找到了js的
点赞 回复 分享
发布于 2020-12-03 08:58
大佬到我这试试呀
点赞 回复 分享
发布于 2020-11-27 23:39
兄弟你是在牛客上申请实习的吗,我最近也打算申请字节的实习,你的简历上写了几个项目?
点赞 回复 分享
发布于 2020-11-25 20:43
Object.keys 返回给定对象的所有可枚举属性的字符串数组,不包含 原型链的,兄弟
点赞 回复 分享
发布于 2020-11-23 17:43
这是日常实习的面试吗
点赞 回复 分享
发布于 2020-11-23 10:40
不先去中厂试试水的嘛
点赞 回复 分享
发布于 2020-11-23 10:31
22的话感觉这个水平还是可以的,但是一看就知道不是很深入的去了解东西(判断数组那里很明显),建议多看看书籍,感觉你明年春招应该是个集邮大佬的
点赞 回复 分享
发布于 2020-11-23 01:34
我看评论全是22前端呢😌,大家多准备找实习吗
点赞 回复 分享
发布于 2020-11-23 00:04
当场就说凉了吗兄弟
点赞 回复 分享
发布于 2020-11-22 23:00

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
避坑恶心到我了大家好,今天我想跟大家聊聊我在成都千子成智能科技有限公司(以下简称千子成)的求职经历,希望能给大家一些参考。千子成的母公司是“同创主悦”,主要经营各种产品,比如菜刀、POS机、电话卡等等。听起来是不是有点像地推销售公司?没错,就是那种类型的公司。我当时刚毕业,急需一份临时工作,所以在BOSS上看到了千子成的招聘信息。他们承诺无责底薪5000元,还包住宿,这吸引了我。面试的时候,HR也说了同样的话,感觉挺靠谱的。于是,我满怀期待地等待结果。结果出来后,我通过了面试,第二天就收到了试岗通知。试岗的内容就是地推销售,公司划定一个区域,然后你就得见人就问,问店铺、问路人,一直问到他们有意向为止。如果他们有兴趣,你就得摇同事帮忙推动,促进成交。说说一天的工作安排吧。工作时间是从早上8:30到晚上18:30。早上7点有人叫你起床,收拾后去公司,然后唱歌跳舞(销售公司都这样),7:55早课(类似宣誓),8:05同事间联系销售话术,8:15分享销售技巧,8:30经理训话。9:20左右从公司下市场,公交、地铁、自行车自费。到了市场大概10点左右,开始地推工作。中午吃饭时间大约是12:00,公司附近的路边盖饭面馆店自费AA,吃饭时间大约40分钟左右。吃完饭后继续地推工作,没有所谓的固定中午午休时间。下午6点下班后返回公司,不能直接下班,需要与同事交流话术,经理讲话洗脑。正常情况下9点下班。整个上班的一天中,早上到公司就是站着的,到晚上下班前都是站着。每天步数2万步以上。公司员工没有自己的工位,百来号人挤在一个20平方米的空间里听经理洗脑。白天就在市场上奔波,公司的投入成本几乎只有租金和工资,没有中央空调。早上2小时,晚上加班2小时,纯蒸桑拿。没有任何福利,节假日也没有3倍工资之类的。偶尔会有冲的酸梅汤和西瓜什么的。公司的晋升路径也很有意思:新人—组长—领队—主管—副经理—经理。要求是业绩和团队人数,类似传销模式,把人留下来。新人不能加微信、不能吐槽公司、不能有负面情绪、不能谈恋爱、不能说累。在公司没有任何坐的地方,不能依墙而坐。早上吃早饭在公司外面的安全通道,未到上班时间还会让你吃快些不能磨蹭。总之就是想榨干你。复试的时候,带你的师傅会给你营造一个钱多事少离家近的工作氛围,吹嘘工资有多高、还能吹自己毕业于好大学。然后让你早点来公司、无偿加班、抓住你可能不会走的心思进一步压榨你。总之,大家在找工作的时候一定要擦亮眼睛,避免踩坑!———来自网友
qq乃乃好喝到咩噗茶:不要做没有专业门槛的工作
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-26 15:18
点赞 评论 收藏
分享
评论
12
55
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务