2024本四前端社招面经

文章记录了面试者在技术面试中遇到的问题,涉及SEO优化策略、动态规划、前端开发(如React、模块化、Promise)、性能优化、数据结构、跨域、异步编程、Webpack等内容,反映了求职者在实际项目和理论知识上的准备情况。
摘要由CSDN通过智能技术生成

美团

全程问项目,根据项目提问,SEO优化方案,还出了一道动态规划的题
SEO优化方案
一、内部优化
META 标签优化:例如:TITLE,KEYWORDS,DESCRIPTION (TDK)等的优化
内部链接的优化,包括相关性链接(Tag 标签),锚文本链接,各导航链接,及图片链接
网站内容更新:每天保持站内的更新(主要是文章的更新等)
服务器端渲染(SSR)
二、外部优化
外部链接类别:博客、论坛、B2B、新闻、分类信息、贴吧、知道、百科、相关信息网等尽量保持链接的多样性
外链运营:每天添加一定数量的外部链接,使关键词排名稳定提升。
外链选择:与一些和你网站相关性比较高,整体质量比较好的网站交换友情链接,巩固稳定关键词排名
算法题
题目如下:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
隔天收到挂了的消息,算法还是要好好练

上海某sass小公司

算法题:字符串反转
-1230.654 => -321.456
前端模块化
浏览器渲染流程
性能优化
React类函数跟组件函数的区别
实现一个有阈值的promise

货拉拉

英文自我介绍
Map跟object的区别
前端模块化
权限控制
Redux的使用
用过什么高阶组件?什么时候可以采用高阶组件
React 代码现场调试,关于hooks的
微前端的实现、项目背景
做过什么开源项目
有什么要问我的吗

SHEIN

白屏监控怎么实现
聊项目
跨域的原理和应用,为什么 jsonp 可以使用
SPA MPA SSR的区别
性能优化
柯里化的应用
HTTP1/2/3是什么
二进制分帧是什么
有什么要问我的吗
全答上了,但还是挂了,不太理解为啥

携程

聊项目
对你做的项目还认为有什么可以改进的吗
怎么进行技术选型
怎么去设计一个输入框组件
输入框输入的字符过多会不会导致内存泄漏
什么会导致内存泄漏
performance的哪个属性可以用来衡量白屏时间
在这里插入图片描述

性能优化
jsbridge是怎么实现的
小程序怎么生成不同端的代码,bundle是怎么实现的
有什么要问我的吗
React的错误处理怎么实现的

小红书

不行了 我算法又没做出来,还是我做过的,我好像一个智障
聊项目
算法:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

换部门面,算法写出来了,一面过,二面没过

深圳某外企(全程英文面)

async/await 是什么,跟 promise 的区别是什么
前端模块化
node 跟 V8的区别是什么
水平垂直居中的方法
css预处理器的优势
函数式编程跟 oop 的区别
了解过tdd吗
react 高阶函数跟hooks的区别
事件循环机制
git rebase 跟 git merge 的区别
如果要执行git revert取消多个commit ,是采用git rebase 还是 git merge
性能优化
做过什么关于 CI/CD 的内容
ES6跟ES5的区别
code: 业务题

阿里巴巴

有实现过装饰器吗
微前端的子应用是怎么嵌入到主应用中的
JS基本的数据类型
怎么实现深拷贝,答案

  • 如果有map、set类型,怎么进行它的迭代
  • 如果有闭环,怎么实现它的拷贝
  • 如何解决循环引用问题

防抖跟截流解释一下
跨域解释一下
跨域是浏览器拦截的还是服务器拦截的

快手

问项目,技术选型
hooks的优点
fiber是什么,为什么vue没有
闭包
怎么解决内存泄漏问题
scope是怎么实现的
算法:类似于: https://leetcode.cn/problems/permutations/
[0] => [], [0]
[1, 2, 3] => [], [1], [2], [3] … 所有排列

问了下评论,说项目复杂度跟技术选型说得不太清楚
感觉年前找不到工作了TAT

富途

问项目
缓存策略
前端模块化
前端安全、防范策略
useCallback、useMemo的应用、优点
useCallback 一定好吗
怎么实现一个大促系统、有什么需要注意的点
题目1: 计算交易n笔的手续费
题目2:运用useMemo 实现useCallback
题目3:寻找最长连续递增子序列数量
输入:nums = [10,9, 2, 3, 4, 5,5,3,7,101,18] => 3

德胧

一面:
项目
缓存策略
跨域
Map跟weakMap的区别
webpack 5 联邦机制
Vue 数据传输
Vue 单向数据流跟双向数据绑定
webpack 怎么进行优化

题目

const tree = [
    {
      id: 1,
      name: "Node 1",
      children: [
        { id: 2, name: "Node 1.1" },
        { id: 3, name: "Node 1.2" },
        {
          id: 4,
          name: "Node 1.3",
          children: [{ id: 5, name: "Node 1.3.1" }],
        },
      ],
    },
  ];
  
//   // 期望结果
//   [
//     { id: 1, name: 'Node 1', parentId: null},
//     { id: 2, name: 'Node 1.1', parentId: 1},
//     { id: 3, name: 'Node 1.2', parentId: 1},
//     { id: 4, name: 'Node 1.3', parentId: 1},
//     { id: 5, name: 'Node 1.3.1', parentId: 4},
//   ]



// 转为数组
function flatObject (arr) {
    const res = []
    helper(null, res, arr)
    return res
}


function helper (parentId, res, cur) {
    for (let i = 0; i < cur.length; i++) {
        res.push({
            id: cur[i].id || null, name: cur[i].name, parentId: parentId
        })
        if (cur[i].children) {
            helper(cur[i].id, res, cur[i].children)
        }
    }
}

二面
介绍项目
实现防抖

二面没问什么,应该没信了,等了几天

字节

聊项目,做题,没写出来

var obj = {
    name: "why",
    running: function() {
      console.log(this.name + " running");
    },
    eating: function() {
      console.log(this.name + " eating");
    },
    studying: () => {
      console.log(this.name + " studying");
    }
  };

(function(a){
    a()
})(
    obj.running
);

(function(a){
    a()
})(
    obj.studying
);
// a = 1 b = 2 z = 26 aa = 27 ab = 28 aaa = 701
// 请用js写出对应的算法
function columnToNumber (column) {
  // 初始化结果为0
  let result = 0;
  // 遍历列名的每个字符
  for (let i = 0; i < column.length; i++) {
    // 获取当前字符的ASCII码,减去'A'的ASCII码,再加1,得到当前位的值
    let value = column.charCodeAt (i) - 'A'.charCodeAt (0) + 1;
    // 将结果乘以26,再加上当前位的值,得到累计的结果
    result = result * 26 + value;
  }
  // 返回结果
  return result;
}

微众银行

场景题:1. 页面中多个计时器,怎么避免页面卡顿
场景题:2. 设计一个有阈值的请求队列
算法,说出输出的值

var y = 20
function innerFunc () {
    var x = 10
    function outerFunc() {
        console.log(x, y)
    }

    outerFunc()
    // return outerFunc
}

var a = innerFunc()

a()

未完待续

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值