字节前端一面总结

字节前端一面总结

第一次去字节面试,面的是前端的飞书,由于自己学的太杂,前端方面反而学的不够精,同时准备时间也不多,这次就体验了一次被问的一脸懵逼的感觉。

1.首先是自我介绍

我介绍了自己来自哪所大学,做过哪些项目,学到了什么。

2.问大学学所学课程

C、C++、Java、数据结构、计算机网络、Web开发、PHP、软件工程导论、软件需求等。

3.计算机网络所学内容

学到了网络的架构,有标准的7、5、4层,目前在学。

4.计算机网络的7、5、4层模型

在这里插入图片描述

在这里插入图片描述

5.http属于哪一层模型

属于应用层

6.对数据结构理解

数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素的集合。它包含三方面的内容,逻辑关系、存储关系以及操作。正确的算法的含义是:能够解决实际问题,输入的所有可能的合法的输入都能产生预期的正确的结果;能够在有穷的步骤内执行完程序;能够用最简短的语句最高效的完成任务。

7.数据结构里面学到了什么

数组、栈、队列、链表、树、图、堆、散列表

8.数据结构里面的树有哪些特殊的树

二叉树、平衡二叉树、B树、B+树、B*树等

其中二叉树分为满二叉树和完全二叉树

9.排序算法有哪些

冒泡排序、选择排序、快速排序、归并排序等

10.查找算法有哪些

顺序查找、二分查找、插值查找、哈希查找等

11.对空间复杂度和时间复杂度的理解

时间复杂度的全称是渐进时间复杂度(asymptotic time complexity),表示算法的执行时间与数据规模之间的增长关系。

空间复杂度全称就是渐进空间复杂度(asymptotic space complexity),表示算法的存储空间与数据规模之间的增长关系。

12.冒泡排序的时间复杂度

O(n2)

13.时间复杂度里面为什么有个log

比如

for (int i=1;i<n;i*=2) ;

循环log2(n)次
根据log换底公式
最终复杂度写成Ο(log(n))

14.数据库分为哪两种数据库
  • 关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。

  • 非关系型数据库,指分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。NoSQL数据库技术与CAP理论、一致性哈希算法有密切关系。NoSQL数据库适合追求速度和可扩展性、业务多变的应用场景。

15.JS闭包算法题

写出下面这段代码打印的结果:

var result = [];
var a = 3;
var total = 0;
function foo(a) {
  var i = 0;
  for (; i < 3; i++) {
    result[i] = function() {
      total += i * a;
      console.log(total);
    }
  }
}

foo(1);
result[0]();//3
result[1]();//6
result[2]();//9
16.了解过js的闭包吗

建议查看这篇JavaScript 闭包和递归(和上一篇对应)。

17.Js有哪些数据类型

参考这篇文章

18.为什么要使用Vue

vue的优势:轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快。

19.Vue的双向数据绑定底层实现原理(用js)

参考这篇Vue的双向绑定原理和实现

20.什么是设计模式

参考这篇什么是设计模式

21.什么是事件循环

参考这篇深入理解JavaScript的事件循环(Event Loop)

22.什么是冒泡事件

参考这篇什么是冒泡事件?

23.总结

由于平时做项目我都是做后端的,前端这部分局限在了解的阶段。后面面试我已经知道自己还有很多需要完善的地方,问了前辈有什么意见吗。前辈说,做计算机这个行业,做前端是要成为一个软件工程师,哪些方面都要了解一点,不能太过于局限。

总之,六月再战吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值