百度前端一面4.25+4.21

百度TPG质量效能部前端实习生 

4.25

女面试官,30min

  • TCP/UDP
  • url解析过程
  • http状态码
  • 继承有哪几种方法
  • 数据类型有哪些
  • 强制缓存和协商缓存
  • call,apply,bind
  • useContext
  • 路由实现
  • 生命周期

虽然回答地语无伦次。。但是基本上说了个七七八八,个人感觉是没hc了,连编程题都懒得给我出了。

最后例行反问,我明知是kpi,就不好意思问公司技术栈了,就问了学习建议哈哈哈呜呜呜

反馈:vue,react都了解一下,多和后台接触

编程题,现场本地ide演示,自己写数据

4.21两场共同考点:(男面试官,40min)

  • 二叉树的前序遍历(递归,非递归最好都要掌握),
  • 链表的排序(不推荐暴力)
/*
 * function ListNode(x){
 *   this.val = x;
 *   this.next = null;
 * }
 */

/**
 * 
 * @param head ListNode类 the head node
 * @return ListNode类
 */
function sortInList( head ) {
    // write code here
    let ary = [];
    let curHead = head;
    while(curHead) {
        ary.push(curHead.val)
        curHead = curHead.next;
    }
    ary = ary.sort((a, b) => a - b);
    let cur = head;
//         new ListNode(-1);
    for(let i = 0; i < ary.length; i++) {
        cur.val = ary[i];
        cur = cur.next;
    }
    return head;
}
module.exports = {
    sortInList : sortInList
};
  • ES6 的新特性及其用法
  • promise:
  • 用 Promise 实现 delay /sleep函数
const sleep = (time) =>{
  return new Promise((resolve) => {
    setTimeout(resolve,time)
  })
}

sleep(5000).then(()=>{
  // 5秒后执行
  console.log(123)
})


  • 用 async await 结合Promise.all 的示例
  • async/await的原理
  • flex深挖:
  • 说一下与 flex 相关的一些属性,实现两栏布局

flex:1

flex 属性是 flex-grow, flex-shrink 和 flex-basis 的简写,默认值为 0 1 auto。后两个属性可选。

flex 属性属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

  • 想要一个 flex 元素不能收缩,也不能扩展,应该怎么做

就是flex-grow flex-shrink flex-bais

flex: 0 1 200px;

Hooks用法:

useState

useReducer

useEffect

useRef

倒计时(⭐手写)

useCallback和useMemo

4.21(校友场)

本场题目来自百度tg部门面经

1.自我介绍

2.为啥学前端(非科班必问,但科班也可能问)

3.ES6特性

4.讲一下proxy

5.实现一个promise3秒后执行

6.介绍一下Reflect

7.flex实现两栏布局,flex属性

8.async/await(中间发生了啥,返回值)

9.Promise.all的用法

(以下两个问题来自项目衍生)

10.渲染列表中间发来啥(因为我提到storeRefs,为啥会自动的渲染出来)

11.echarts用法

12.二叉树的前序遍历,链表的排序(算法)

4.21(牛友场)

本场题目来自前端实习 百度 TPG 质量效能部 一面

  • 二叉树的前序遍历(不了解二叉树,跳过了)
  • 链表的排序(暴力出来,面试官似乎不太满意)
  • 还用过 ES6 的哪些其他新特性
  • 用 Promise 实现 delay 函数
  • 用 async await 实现一个请求函数
  • 写一个 Promise.all 的示例
  • async 的原理
  • 说一下与 flex 相关的一些属性
  • 想要一个 flex 元素不能收缩,也不能扩展,应该怎么做
  • useEffect 具体是什么作用,做了什么事情
  • useMemo 的 dependences 里有什么数组,假如这个数组里的元素变了会更新 useMemo 的缓存吗

useCallback返回一个可记忆的函数,useMemo返回一个可记忆的值,useCallback只是useMemo的一种特殊形式。

useEffect 共两个参数: callback 和 dependences 。规则如下:

dependences 不存在时,默认是所有的 state 和 props 。即:每次 render 之后都会执行 callback。

dependences 存在时, dependences 数组中的所有项,只要任何一个有改变,在触发 componentDidUpdate 之后也会执行 callback。

dependences 为空数组时,表示不依赖任何的 state 和 props 。即: useEffect 只会在 componentDidMount 之后执行一次。其后 state 或 props 触发的 componentDidUpdate 后不会执行 callback。

  • callback 可以有返回值。该返回值是一个函数。会在 componentWillUnmount 时自动触发执行。
  • 在什么场景下会用到 pinia
  • 为什么要写单元测试
  • 问项目
#软件开发2023笔面经##前端##百度##面试##实习#
全部评论
有23届前后端想来快手的吗,组内直接递简历给面试官,是校招名额不是社招,不求实习名校经历,急招,我也是组里同事😣😣求求了
点赞 回复 分享
发布于 2023-04-24 14:13 北京
借楼,阿里淘菜菜24届实习前端客户端大量hc,欢迎投递或转志愿 https://www.nowcoder.com/discuss/477802760067424256?sourceSSR=users
点赞 回复 分享
发布于 2023-04-24 09:13 浙江
我俩,时间挨着的,大概率一个面试官,八股和算法基本一样,只是我俩都面经的用词不一样。问他的感觉就是把我的重复一遍
点赞 回复 分享
发布于 2023-04-23 22:09 湖北

相关推荐

04-15 20:33
已编辑
门头沟学院 Java
双非本偶遇阿里系约面,深挖项目强如怪物,拼尽全力无法战胜岗位Java研发工程师基本是跟着简历一行一行问,没什么参考价值的面经,全程1小时多几分钟TimeLine2.24&nbsp;官网内推投递3.15&nbsp;笔试&nbsp;ak4.10&nbsp;约面4.15&nbsp;一面&nbsp;挂1.&nbsp;自我介绍2.&nbsp;实习比较有挑战性的事情?3.&nbsp;消息推送是由系统触发还是人为触发的?4.&nbsp;Redis&nbsp;Pub/Sub数据会丢,有没有考虑用其他方式让他不会丢呢?(答了Stream)5.&nbsp;为什么选择Kafka,而不是其他,比如RabbitMQ?RocketMQ?6.&nbsp;Kafka快的原因是什么?7.&nbsp;接T6,那其他MQ是否也能通过顺序读写磁盘做到这么快?(乱答一通)8.&nbsp;实习期间SQL优化怎么做的?9.&nbsp;联合索引ab,where&nbsp;b&nbsp;&gt;&nbsp;2&nbsp;and&nbsp;a&nbsp;=&nbsp;1可以用到索引吗?10.&nbsp;刚才提到最左匹配原则,为什么是最左匹配?11.&nbsp;自增ID和UUID作为主键有什么区别?12.&nbsp;UUID作为主键插入B+树会怎么插入?13.&nbsp;大VARCHAR,TEXT能否存入聚簇索引?14.&nbsp;Kafka异步处理为什么能提高性能?15.&nbsp;现在有这样一个场景,我要针对某个特征(比如针对某个地区、某个年龄、某类客户端)的用户或者说全部用户进行消息推送,这种场景你会怎么设计?16.&nbsp;消息推送记录是否会落盘?全量用户推送数据量很大,比如百万、千万级甚至上亿,如果我多推送几次,数据量就数十亿了,MySQL存储的话数据库压力会很大,有没有什么好的解决方案?(一时间没想到什么方案,先扯了分库分表,面试官显然并不满意)17.&nbsp;有没有其他更好的方式?比如分析他的特征?提示一下,这种全量推送,一般来说内容是一样的。(答从业务角度考虑,考虑将这类任务特殊处理,只存一行数据来确认这次任务是否推送成功)18.&nbsp;既然你要这样存,那和原来存的表就不兼容了,这一部分你怎么解决?(开始扯NoSQL,MongoDB的名字还忘了,难绷)19.&nbsp;链路追踪怎么做的?为什么要做这个功能?(自定义LogUtil埋点)20.&nbsp;如果说我现在是微服务,各个模块之间的调用链路非常复杂,甚至可能出现某个模块被多次重复调用,那你会怎么做链路追踪?怎么知道这个模块是第一次调还是第二次调?我怎么通过这个链路追踪来知道出问题的时候具体是哪里出问题了?(几乎完全没思路,已经开始汗流浃背了)21.&nbsp;限流是怎么设计的?限流的方式有哪几种,为什么选用滑动窗口?令牌桶不行吗?22.&nbsp;(场景是24小时内请求次数限流)为什么不能固定窗口切成一小时一次的?为什么不能用令牌桶设置生成速率来做?23.&nbsp;去重(接口幂等)怎么做的?(通过Redis)24.&nbsp;接T23,那假设现在你下发消息失败了,Redis又已经存入这个key,那怎么再下发这条信息?(答设置合理的key过期时间)25.&nbsp;接T24,那Redis要设计过期时间,如果你发送成功了,然后服务又崩了,不知道成功了,现在再发一次或者重试不就不能做到去重了吗?这种情况你怎么处理?26.&nbsp;为什么使用责任链模式?可以是模板方法模式吗?可以是装饰器模式吗?27.&nbsp;你说使用Kafka搭配EasyExcel流式处理做异步用户批量注册,这是怎么个原理?28.&nbsp;直接用内存队列或者线程池不行吗?他们的差异是什么?(答内存队列如果宕机对丢失信息)29.&nbsp;接T28,那有没有什么优化手段?30.&nbsp;Kafka不保证唯一消费,消费有可能重复,这种情况你怎么处理?(通过UNIQUE&nbsp;KEY&nbsp;+&nbsp;插入时IGNORE)31.&nbsp;用了WebSocket实现数据搭配,为什么用WebSocket?32.&nbsp;WebSocket是长连接对吧?那其他长链接我们也有用TCP的嘛,那他们有什么差异?33.&nbsp;刚才提到了HTTP升级到WebSocket,他是怎么升级的,具体是什么命令呢?34.&nbsp;WebSocket粘包问题?35.&nbsp;TCP的包是一个一个发出去的,如果说有一个包延迟了会怎么办?36.&nbsp;前面(T28)提到过kill&nbsp;-9,kill和kill&nbsp;-9的区别是什么?有没有用过其他Linux的命令?37.&nbsp;如果说CPU占用非常高,如果是某个Java线程出问题了,怎么定位?(答了Arthas)38.&nbsp;如果只用Linux命令呢?(top,jstat,顺便开始扯可能是因为内存爆了引起fullgc导致高占用,撤jmap)39.&nbsp;那垃圾回收算法有哪些?40.&nbsp;G1和CMS的主要差异?41.&nbsp;玩过什么游戏?42.&nbsp;base地要求?43.&nbsp;用过什么加速器?反问:1.&nbsp;改进?建议?2.&nbsp;面试结果大概什么时候出?(本周)3.&nbsp;业务?(biubiu加速器)半小时后流程已结束,我的暑期到这基本也结束了,以3面0offer收场,希望接下来能找到一个好一点的日常混混日子罢
最喜欢春天的钝角很想回学校:感觉很强啊
点赞 评论 收藏
分享
勇闯测开bg双非,开发岗拼尽全力拿不到面试,有的面试拿到了也是kpi,对答如流也一面挂。字节甚至被捞起来鞭尸离了开发发现外面根本没有下雨。4.2一面&nbsp;90分钟1.自我介绍2.我看你是开发,那么测试了解多少?(简单答了答jmeter压测流程、junit测试以及arthas线上排障)3.实习经历(学校旁边的小厂开发)4.操作系统底层状态?(没准备,说了个内核态用户态,不知道对不对)继续询问操作系统io流程(实在不会了,直接说不了解)5.讲讲你的nginx负载均衡和动静分离是怎么做的?(没搞懂面试官想问什么,简单答了答config配置方法,讲了讲docker部署和负载均衡对比,把动静分离和oss的区别简单说了说)6.你们项目用了redis吗?说说redis和mysql的区别。(八股背诵,顺带讲了讲项目redis用法,缓存预热之类)7.redis除了缓存还能做什么?(背诵分布式锁八股)8.问问测开相关,你们测试项目的时候会注重什么性能指标?(凭感觉答了cpu内存和硬盘空间,面试官不满意再追问,又答了网络相关,结合项目实际经历讲了讲遇到过的网络瓶颈问题与解决办法)9.怎么追踪内存和cpu使用的?(arthas的dashboard或者top命令等,有的服务器自带面板可以直接看)10..linux指令知道什么?(cd,top,findstr,tail,cat说了一大堆)11.对测试流程了解多少?(实习的时候辅助过测试人员,也帮忙出过case)12.公司用的什么自动化测试框架?(UJ什么什么,测java的,跑在类似cmd的地方,没用过只看同事用过)算法题:用递归迭代两种方法实现拿到二叉树中序遍历,水题,但是面试官竟然让我自己投屏用idea去写,在之前没见过。反问:我看我没投这个岗位,为什么会安排面试?部门业务五天后约二面4.7二面&nbsp;60分钟1.自我介绍(比一面多说了点)2.会python吗?(用python的numpy和pandas写过数据处理,会读python代码,底层不清楚但学起来会很快)那我问问python?(别)3.那问问java,讲讲线程创建的四种方式。(八股背诵,着重讲了讲项目里的线程池快慢分流)4.讲讲异常处理(没搞明白面试官想问什么,讲了讲try&nbsp;catch相关以及统一异常处理实现)追问throw和throws的区别(脑子短路没想出来,笑)5.讲讲java内存模型(输出八股,搞笑的是忘了程序计数器,面试官不满意)6.问问计算机网络,路由器转发流程?(不知道)7.ip与mac区别?(狠狠回想上学期的知识,燃尽了)8.子网掩码?子网掩码下有多少机器?(同上)9.三次握手?为什么要三次?第四次丢包会怎样?(八股背诵,着重讲了讲三次握手的目的)10.输入网址到显示网页发生了什么,dns原理(八股背诵,但不知道为什么面试官不太满意)11.计网掌握的一般啊,你第一个课程不是写的计网吗?(尴尬,上学期学的了,除了常见八股别的记的七七八八)12.讲讲数据库索引(索引类型失效log应用场景底层数据结构回表聚簇巴拉巴拉……)13.讲讲redis数据类型(数据类型用法结合项目全部说了一遍)14.hash存对象怎么拿?(直接从redis依赖答的,水了一下redis&nbsp;template原理)15.测开会多少?(会出case,会线上排障和压测,python可以学)算法:投屏idea,最长回文子串限时十五分钟先说了说两种思路,然后直接动规。期间脑抽循环写错了,脑子很乱还好最后剩俩分钟写出来了(吹一波idea,要是面试平台的编辑器带debug,我还能撕不出困难题?)16.什么时候到岗?实习多长时间?反问:部门业务没回答出来的面试题4.16三面&nbsp;11:00&nbsp;30minLD看起来是个技术大佬,比起业务更注重于技术1.自我介绍2.讲讲实习和项目3.上一场面试面试官评价你项目经历丰富,那丰富的项目经历带给了你什么?4.为什么要选择测开5.你讲项目讲的全是宏观业务啊,着重讲讲项目的技术难点,不要讲业务6.学Java的?那问一下GC?7.问问GC调优8.设计测试用例:幼儿园小朋友的椅子反问:实习生的工作
点赞 评论 收藏
分享
评论
4
20
分享

创作者周榜

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