去哪儿前端一二三面

一面 30min
1.自我介绍
2.项目优化相关,这里问的比较多 答了lighthouse,还有一些nextjs的优化手段
3.文件并发上传与下载 答了webworker封装promise
4.类组件与函数组件
5.webpack和vite的区别
6.treeshaking,babel
7.react setState发生了什么
8.nextjs服务端渲染组件的原理?X
9.使用过什么设计模式 单例 发布订阅,介绍发布订阅的场景
10.http和https的区别
11.手写Promise.all

10min后发消息二面 20min
1.自我介绍
2.项目介绍和项目优化相关,虚拟滚动列表等
3.webpack的优化
4.了解到的浏览器和nodejs的存储,只答了浏览器的
5.手撕一个类似于字符串替换的功能,但是存在嵌套,这里没A出来,说了一下思路,正则匹配不会写有点尴尬

hr面 17min
上两次面试过后你有什么优缺点
家里对于工作的建议
实习遇到的困难
项目遇到的困难
为什么离开了上一家公司
未来1到3年的规划
上一家公司的节奏和强度如何
对加班怎么看
全部评论
同,一天三面速通,开泡
2 回复 分享
发布于 2024-09-26 21:07 天津
同速通,开泡
1 回复 分享
发布于 2024-09-27 13:44 上海
佬tql,看你帖子没实习都乱杀,真的6
点赞 回复 分享
发布于 2024-10-14 16:18 陕西
佬儿你什么时候投的,我投简历泡池子泡两周了
点赞 回复 分享
发布于 2024-09-28 20:58 河南
想问一下hr面完之后发“今日面试已结束”应该不是hr面挂了吧,害怕,因为我hr面之后收到今日面试已结束的提示
点赞 回复 分享
发布于 2024-09-27 18:20 上海
佬二面后多久hr面
点赞 回复 分享
发布于 2024-09-27 11:48 广东
佬,一面多久呀
点赞 回复 分享
发布于 2024-09-26 22:07 重庆

相关推荐

11-11 19:04
已编辑
喀什大学 C++
点赞 评论 收藏
分享
11-10 01:21
同济大学 C++
c语言基础部分终于结束了。可以上数据结构了。但是目前感觉对指针这一块儿还需要加深理解!!!(指的我头皮发麻)- 有关于指针参数传递非常重要的一点:- 如果int n = 5. n的类型是int,&n的类型是*int,那么*(&n)的类型是等价于n的类型,也就是int- 动态内存分配。1. 为什么需要动态内存分配?2. 栈空间的局限性:1栈帧的大小,需要在编译时确定。栈空间不能存放动态大小的数据 、2栈空间大小是受限的:在典型的linux系统中主线程8MB,其他线程2MB。如果存放太多数据会栈溢出,程序崩溃。因此栈空间不能存放太大的数据。3每个线程都有自己的栈空间,栈空间不适合存放多线程共享的数据。3. 他作用于:堆(heap)[图片]4. sp寄存器;bp寄存器(Stack pointer; base pointer)它的作用[图片]5. 如何进行动态内存分配?malloc(内存分配) , calloc(清0分配), relloc(调整之前分配出来的内存大小) 他们返回的类型都是void*(通用指针类型:我不知道他的基类型int or double?)6. 通过在main函数里面定义指针指向(无名字)的预先分配的内存空间里面。但是由于无名字特性。我们该怎么操作呢:通过栈上的指针变量访问堆上的数据。- 动态数组(当数组空间不够的时候,他可以自动扩容)1. 我们通过写Vector.h的头文件以及他的实现来创建动态数组。(我感觉类似于java里面的getter setter?)[图片]2. vector.h ; main.c ; vector.c 的三方关系:[图片]3. 利用realloc函数进行扩容 realloc(void* ptr, size_t size): void* ptr-> 指向旧的内存块儿  size_t size:新内存的大小。- 如果返回值为NULL:重新分配的内存失败,旧的内存块不会被释放。- 不为NULL:重新分配成功。- realloc既可以扩容,也可以缩容。- 缩容:把多余的释放掉。- 扩容:第一步尽量原地扩容。第二步:如果不能原地扩容,那么就复制到大的内存空间的位置,然后吧旧空间释放掉。- 释放内存:(free)1. 注意事项:2. 严禁 double free3. free之后对野指针进行解引用会产生未定义行为。- 内存泄漏:程序中存在垃圾的现象。(这就会导致OOM现象。out of memory)[图片]- 动态分配的结构体:(链表)[图片]- 如果定义的链表类型是void的话就会发生head下一个节点是空值的现象。(怎么解决?二级指针**phead)- 二级指针:Node** pp -> Node*p -> Node node !!![图片]- 问题:传递参数的时候到底传一级指针还是二级指针。- 解决:想修改哪个变量的值,就穿哪个变量的地址!!!- 如果是想修改指针变量的指向(值),传二级指针- 如果是想修改指针变量指向的对象,传一级指针- 函数指针:- 他是什么?指向一个函数的首入口(首字节),那么这个指针就是函数指针。- 函数指针你只要知道他的入口他就会一直往下执行。1. 怎么操作?他只支持两个操作:解引用,函数调用。2. 编程范式:面向过程,面向对象,函数式编程(一等公民)<包含复制,作为参数,作为返回值>,逻辑式编程。3. 在c语言中,函数不是一等公民,函数指针是一等公民4. 在c语言中,可以通过函函数指针,进行函数式编程(有利于解耦合,易组合)。[图片]- qshort()函数就是典型利用了函数指针。它的功能:可以对任意一个数组排序。- 解耦合的形象图例:compare是钩子函数[图片]
我的求职进度条
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
7
21
分享

创作者周榜

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