字节跳动2020届秋招提前批前端面经

2020校招复盘——秋招不易,致敬每一位追梦者(含网易、京东等19家互联网公司后台/Server端面经) 秋招经历、秋招心得、C++后台/Server端方向校招准备、面经整理、面经题库 阅读详情

字节跳动面经

一面

自我介绍完,面试官问了为什么项目中选择vue
1、上来聊如何理解mvvm、vue组件通信、vex、路由实现

2、写一个组件

实现一个user banner组件,根据用是否登录、注册显示不同的信息;name、id、icon

我的实现

<template>
<div>
   <div v-if:'isLogin'>
       <div>用户姓名:{{user.name}}</div>
       <div>用户id:{{user.userid}}</div>
       <img :src='user.usericon' />
   </div>
   <div v-else>
      <div>未检测到登录用户,请登录</div>
      <router-link />
   </div>
</div>
</template>
   props {
       isLogin:false,
       user{
          name:'',
          userid: '',
          usericon:''
       }
   }

看我用了v-if,问v-if和v-show的区别
3、http报文组成

答了个if-modefie,引申出了e-tag,浏览器缓存机制

问:E-tag保存在哪里,怎么匹配,谁匹配

4、登录流程是怎么样的

具体的session和cookie在整个登录流程中怎么保存的

5、实现每隔一秒输出数组中的一个数字:

function(arr){
  for(let i = 0;i<arr.length;i++){
    setTimeout(() = > {
      if(i<arr.length){
         console.log(arr[i])
      }
    },1000)
  }
}

6、判断单链表是否有环

function main(node){
  let tmp = node.next;
  let nodes = [];
  nodes.push(tmp)
  while(tmp){
    if(isInnodes(node,tmp))
      return true;
    else{
      nodes.push(tmp);
      tmp = tmp.next;
    }
      
  }
  return false;
}
function isInnodes(node,tmp){
  for(let i = 0;i<node.length;i++){
    if(tmp.next===node[i])
      return true;
  }
  return false;
}

实现思路:用一个数组保存遍历过的节点,然后依次做匹配,面试官问我时间复杂度,我说n方,面试官觉得有点慢,能不能优化,我想了半天没想出来,就没耽误多久放弃了。

算法还是太差

二面

  • 第一题:对无序数组 Array(n),查找第 k 大元素

真的简单,我是个废物,长时间没看排序

  • 第二题:
// 输入一个任意的四则运算字符串,给出计算结果
function exex(strInput: string): number{
  //TODO
}
// 补全代码,得到正确输出结果

应该是构建一个什么树

我这两题根本没法提笔,这里面试官跟我说可以不考察算法,考察前端相关的内容,因为第一个面试官推荐的时候认为我接触前端不久,所以第二个面试官上来就打算考察我的计算机基础(算法、网络、操作系统),我就想你还是问我前端的吧,然后问我es5、es6熟悉吗,我说还可以(至少比算法强)

  • 第三题
document.body.addEventListener('click', () => {
  Promise.resolve().then(()=>console.log(1));
  console.log(2)
});
document.body.addEventListener('click', () => {
  Promise.resolve().then(()=>console.log(3));
  console.log(4)
});
//用鼠标点击一下屏幕,输出结果是什么;为什么?事件循环是什么,微任务是什么,他们的执行顺序是什么样?哪些你知道的方法是微任务?

原生dom绑定多个事件怎么玩

我开始答案 2 4 1 3

后来经过面试官的提醒才知道是一个对象绑定了多个事件,我以为会覆盖,改了答案 4 3

正确答案2 1 4 3

这个地方我以为问了宏任务,其实我已经记不清promise和计时器哪个是微任务和宏任务了,就说了个微任务和宏任务的话有promise和计时器,然后面试官一听计时器,第四题就来了

  • 第四题
console.log('start');
let intervalId;
Promise.resolve()
  .then(() => {
  console.log('p1');
}).then(() => {
  console.log('p2');
});

setTimeout(() => {
  Promise.resolve()
    .then(() => {
    console.log('p3');
  }).then(() => {
    console.log('p4');
  });
  intervalId = setInterval(() => {
    console.log('interval');
  },3000);
  console.log('timeout1');
},0);
// 
// start p1 p2 p3 p4 timeout1 interval

曾经我以为我彻底弄懂了事件循环,微任务和宏任务,但是这个地方依然犯了个错误

正确结果:start p1 p2 timeout1 p3 p4 interval

  • 第五题
function Foo () {
  getName = function () {
    console.log(1)
  }
  console.log('this is' + this)
  return this
}

Foo.getName = function () {
  console.log(2)
}
Foo.prototype.getName = function () {
  console.log(3)
}
var getName = function () {
  console.log(4)
}
function getName () {
  console.log(5)
}
// 请写出一下的输出结果
Foo.getName()  //2
getName() // 4
Foo().getName() //this is window 1
getName()  // 1
new Foo.getName() //2
new Foo().getName() // this is window 1
new new Foo().getName()

上面标记了一些答案,有待验证,这题考察的知识点之多,令人发指

  • 第六题
window.name = 'ByteDance';
function A () {
  this.name = 123;
}
A.prototype.getA = function(){
  console.log(this);
  return this.name + 1;
}
let a = new A();
let funcA = a.getA;
funcA();
// window

这里的调用funcA()this应该是指向window,但是我给自己挖了坑,我说我不知道字符串和数字做+运算返回什么

  • 第七题
//使用JS实现一个repeat方法,
function repeat (func, times, wait) {
  // Todo
};
const repeatFunc = repeat(alert, 4, 3000);
//调用这个 repeatedFunc("hellworld"),会alert4次 helloworld, 每次间隔3秒

我的实现

面试官说我一面的时候做法好像有些问题,所以又给我出了一道类似的题

第一次

function(func ,times, wait){
  return function(str){{
    for(let i=0;i<times;i++)
      setTimeout(()=>{
        func(str)
      },wait)
  }
}

面试官说这种做法要创建多个计时器,性能太差,然后我换了setInterval

function(func ,times, wait){
  return function(str){{
      setInterval(() => {
        while(times--){
        func(str) 
        }
      },wait)
     }
  }
}

真实效果应该是和我想的不一样,面试官也指出不对

  • 第八题

一个轻量页面中存在一个用户生日输入框,用input type=text来实现, 实现对任意输入的字符串的 validate 和 parse,输出为 Date 对象。

eg: yyyy-mm-dd

当时我就答到:这个就是正则加字符串转date,但是我从来不记api,我写不出来

然后面试官非常语重心长的给了我很多建议

面试面试,就和高考一样,这是要走流程的,不是说你会就行,谁知道你会,你得写在系统里面,面试的人那么多,人家会写你不会,肯定就不会选你了,面试的流程都是要review的,得看你有多少输出(面试系统的代码量),不是说这个面试官选你就选你了,这个面试官选你之后,下一个面试官一检验发现没有那么合格,上一个面试官是要背责任的(然后我感觉很愧对第一个面试官,第二个面试官说,二面机会是第一个面试官给我争取来的)

面试官推荐复习资料

leetcode

总结

非常感谢我的两个面试官,第一个给了我推荐,第二个给了我很多建议,并且全程鼓励指引,非常和蔼。下面的复习目标,巩固现有知识内容,加强算法和基础coding能力

电磁场可视化 电磁场可视化 如题,做了电磁场可视化这么久了,也是颇有些心得了,简单描述一下怎么做这个项目的。 开始时是从最基本的OpenGL开始做的,必不可少的翻了许多的文献,后来是直接在unity中做,发现效果挺好,而且可控性强好多。反复琢磨后,发现可视化的渲染,有几种思路,第一就是用linerender,画线的方法,另一种就是用shader。 第一种我通过unity自带的linewave插件可以做到 详细的就是,linewave插件可以轻松画出曲线等,并且可以添加碰撞,控制频率幅度长度等一切的条件数值,而且令人惊喜 阅读详情

相关推荐

光线追踪渲染实战:蒙特卡洛路径追踪及其c++实现

光线追踪超越了传统的图形流水线,是一种现代的渲染。光线追踪是一种基于物理的渲染方法,通过模拟光在介质中的真实表现来输出足以逼近现实的图像。光线从光源出发,经过各种反射折射,进入摄像机。通过渲染方程描述一点的颜色,并且通过蒙特卡洛方法求解渲染方程来获取最终的像素颜色。

AKGWSB 's blog 1万+

腾讯|阿里|百度|字节跳动人才体系的职位层级、薪酬、晋升标准

希望我分享出来的这些知识点可以帮助在这个行业发展的朋友和童鞋们,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,我把这些视频分享出来。相信对于已经工作和遇到技术瓶颈的码友,在这个群里一定有你需要的内容。目标已经有了,下面就看行动了!记住:学习永远是自己的事情,你不学时间也不会多,你学了有时候却能够使用自己学到的知识换得更多自由自在的美好时光!时间是生命的基本组成部分,也是万物存在的根本尺度,我们的时间在那里我们的生活就在那里!我们价值也将在那里提升或消弭!觉得写的好的,可以关注转发一下。

m0_71745258的博客 4万+

反激变压器反射电压详解

我以前做过隔离式的POE模块,其电路实际就是个反激式开关电源。只不过其输入电压范围比较低,为44V-57V。 电路如下图,就是个flyback。 可以看到,电路中有个钳位电路,用来抑制电压尖峰,就在初级线圈那里。 问题 抑制尖峰通常有2种电路,一种叫RCD钳位,另外一种是用TVS管+二极管钳位。 这两种实际中都有用,今天我不想讨论它们的区别,只想说明一个问题: 为什么不能只用一个二极管搞定?像继电器电路那样?不也能抑制尖峰吗? 答案自然是不行的...

weixin_42005993的博客 2万+

8年Android老油条告诉你:不知道这些,想什么跳槽涨薪

腾讯去年宣布调整职级,取消了原有的 6 级 18 等(1.1-6.3 级)的职级体系设计,将专业职级体系优化为 14 级 (4-17 级)。与之相对应的是,统一置换为“专业职级+职位称谓”。腾讯薪资结构:一般是12+1+1= 14薪。腾讯的薪资结构一般是 16 薪,但实际上从 offer 看不乏 18 薪的团队。腾讯内部不同事业线之间存在不小的薪资、股票差距,腾讯的游戏团队薪资、年终奖一般都比较高,而腾讯云的股票份额则要高于游戏团队。

m0_60721860的博客 1473

HBuilderX结合Android Studio实现Uniapp安卓Apk高效离线打包指南

本文提供了一份详细的Uniapp安卓Apk离线打包实战指南。通过整合HBuilderX与Android Studio,手把手教你搭建本地编译环境、配置原生工程、执行核心打包流程,并分享快速更新资源和排查常见问题的技巧,助你彻底摆脱云端打包的排队依赖,实现高效、可控的应用构建。

weixin_28835551的博客 559

网络安全实战:从Wireshark到BurpSuite的抓包技巧解析

本文深入解析了Wireshark和BurpSuite在网络安全抓包中的实战技巧,从基础对比到高级过滤、核心模块应用及安全测试避坑指南。通过详细的操作步骤和案例分析,帮助读者掌握数据包抓取与分析的核心技能,提升网络安全防护能力。

weixin_29207533的博客 574

字节跳动校招提前批前端一面总结

面试官上来就问了一些比较简单的问题(除了自我介绍和项目经历) 1、块级元素和行内元素分别有哪些? 块级元素:address 、article、 aside、 audio、 video、 canvas、 div、 footer、 form、 h1、 h2、 h3、 h4、 h5、 h6、 header、 hr、 ul、 ol、 output、 p、 table等 行内元素:a、 img、 map、 ...

attitude的博客 2217

黑猫带你学eMMC协议第9篇:eMMC初始化过程(initial)

本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 文章所在专栏:《黑猫带你学:eMMC协议详解》 1 什么是emmc的初始化 对于小白来说,可能不太明白什么是emmc初始化。举个栗子:当你拿到一个电脑,接上电源,是不是就立马可以用了呢?并不是吧,你还需要去开机,等待电脑启动,配置完各种参数,等出现了电脑桌面,你才能用。那么同样,对于emmc芯片来说,也不是提供电源就能用了,需要输入各种命令后,让其进入到tran state后,才能正.

黑猫奥利奥的博客 6742

2020.8字节跳动前端秋招面经

快排 通过先序和中序求出叶子节点数 如何去除字符串里面所有的0010

前端彭于晏的博客 1053

【N32L40X】学习笔记08-定时器的基本定时功能-超时功能

【代码】【N32L40X】学习笔记08-定时器的基本定时功能-超时功能。

Car12 829

智能制造——解读AI+工业设备预测性维护解决方案【附全文阅读】

摘要:本方案面向设备密集型制造企业,提供基于AI的预测性维护解决方案。通过工业物联网、大数据和AI算法,整合传感器数据与专家知识库,构建异常检测、故障诊断等模型,实现设备台账管理、智能点检等核心功能。方案配套软硬件工具矩阵,已在锂电子等行业落地应用,可降低维护成本30%以上,减少非计划停机50%,助力企业智能化转型。

cdfunlove的博客 141

字节前端秋招提前批面经

QUESTION 一面: 自我介绍 为什么选择计算机?为什么选择前端?(本人跨专业考研) HTTP有哪些method? get和post有什么区别? 浏览器会对用户的哪些请求方法做记录? 请求的状态码有哪些? 浏览器对资源的缓存流程? 跨域及跨域方案;为什么写在服务端的东西,前端能获取到?(这个问题是在我解释了JSONP的<script>引用,通过在本地的<script>中调用服务端提供的API来获取数据,存入变量之后提出的,我不是很理解问题的意思,面试官的表述是,“请求不是我发的

weixin_43845044的博客 748

YOLO26 多模态融合技术:RGB+红外/深度/雷达融合

YOLO(You Only Look Once)是一种流行的目标检测算法,其最大特点是快速且端到端地完成图像中所有目标的检测与分类任务。YOLO首次在2016年由Joseph Redmon等人提出,彻底改变了传统目标检测(如R-CNN系列)的思路,被广泛应用于自动驾驶、视频监控、工业质检等场景。

一键难忘的博客 3524

秋招腾讯字节跳动小米前端面经

欢迎阅读 前言 目前已经毕业,在去年2020秋招的摸爬滚打中,侥幸收获了几个小offer。最后也很幸运去腾讯实习了一段时间。所以想着把自己经历的大厂前端面试题整理出来,留给需要找实习工作的童鞋们一个参考。 大厂前端秋招面经 包括腾讯区域研发、字节跳动、腾讯日常实习、小米的前端面经 (一)腾讯区域研发前端 一面 * 自我介绍 * 介绍一下你最难的项目 * 谈谈对 vue 和 react 的理解,以及他们的区别 * vue&

weixin_44210637的博客 622

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【面试题分享】2020年秋招,美团,阿里,字节跳动后端面试题合集(附答案和思维脑图)

前言 **最近,金九银十在即,很多人都在准备面试,特别给大家总结了 Java 程序员面试必备题,**这份面试清单是我从 去年开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平。下文主要是我个人的总结方法经验(面试学习和刷题笔记),都整理有PDF完整版,有需要的可以看文末有领取方式 面试题模块介绍 说了这么多,直奔主题,我们这份面试题,总内容包含了十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模

weixin_53224039的博客 959

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

牛客周赛 Round 10 解题报告 | 珂学家 | 三分模板 + 计数DFS + 回文中心扩展

第一题简单100%,题目记不清了第二题是加数使得数组不重复且有序,a了82%,我是先排序,用一个变量记录前一个的值,如果相等或小于则改变第三题是给两个u和v,然。做出了2.8题1. 仔细审题,想太多是错的,题本身不复杂2. 排序后从头开始遍历,如果与前一个相等,直接+1,跳出循环,重新排序,统计总数3.前缀和,注意数据类。引流 #字节# #阿。机械非科班鼠鼠,看到今年嵌入式炸了,92硕都没工作,本来暑假在准备了但又突然没动力了,想着本科也没啥优势想重操旧业做Java,顺便寒假试着找个实习,不知道大佬们。

2301_79125431的博客 1238

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

转载《2020年校招面经心得》

原文链接:https://blog.youkuaiyun.com/ZY...

专注于C/C++/Linux领域创作 2531

纯干货!字节跳动 100 篇精选面经集锦(建议收藏分享)

作为字节Top10内推人,有越来越多的同学经过我内推杀入了字节面试环节,为了帮助大家更好的备战面试,我从牛客网筛选、整理了100篇精选真实面经,覆盖技术、产品、运营、HR等各个岗位。更多面经,可以打开牛客网https://www.nowcoder.com/interview/center 进行筛选,查看~!

weixin_54542328的博客 2934

2020年,我们眼里的前端工程师(附面经)

点击上方“程序员黑叔”,选择“置顶或者星标”你的关注意义重大!文/黑叔阅读本文需要3分钟前言昨天,一位大三前端博主火了,让黑叔细细说来。一、昨天黑叔还在忙着改需求的情况下,有小伙伴私聊...

weixin_46837985的博客 379

# 字节数组转uint32_字节跳动四面拿下2-2offer,32*16薪,已入职!

前言当你准备跳槽面试的时候,明明只是一份15K的工作,却问你会不会多线程,懂不懂高并发,火箭造得让你猝及不防,结果就是两个字——凉凉!而在如今的市场,什么多线程、高并发、分布式、负载均衡、集群、微服务等等等等,都可说是Java高级后端开发求职的必备技能。2020的秋招可以说也是完美收官,前段时间收到字节跳动的面试邀请,虽有点震惊,但却依旧保持平常心去对待,结果一不小心就吊打了面试官(前后一个半小时...

weixin_39998903的博客 181

工作辞职考研,22408分数341大概率进不了复试,求建议

应该没有人比我更惨了……咱就是说主打一个听劝,23届考研失败,之前实习很水可以说是啥也没干,简历投出去石沉大海,项目都是在网上找的项目,求各位大佬给点意见,或者说能否换个赛道,实在是不。想找一份最好大厂,中小厂先做起也可以的产品经理的实习,暑假做起,求助大佬们简历应该怎么修改#实习,投递多份简历没人回复怎么办##产品实习,你更倾向大公司or小公。IP地址分为网络号和主机号,32位的IP地址,A类、B类、C类地址的网络号字段分别为1个、2个、3个字节长,其数值分别规定为0,10,110,且这三个均为单播地。

华鑫的专栏 824
上一篇: 【web】仿微博浏览量自增(判断元素是否在可视区+停留2s事件响应)
下一篇: 【前端:Ts+React+Redux+React-Router+ant-design;服务端:Node+Koa2+MongoDB】从TodoList入门React全家桶采坑合集
bye_cherry
博客等级 码龄12年 8粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值