三面百度,外包两年的我终于上岸了,分享我整理的百度社招面试题!

百度一面(3月28号、60分钟)

1.自我介绍,项目介绍,问具体做了的工作
2.多线程
2.1 线程的创建方式
2.2 线程工厂
2.3 线程池的核心参数,过程
2.4 四种线程池的问题
2.5 Java中的锁
2.6 乐观锁的ABA解决,自旋的问题
2.7 CAS的底层
2.8 synchronized锁升级过程
2.9 ReentrantLock的AQS
3.JVM
3.1 发生minor GC的情况
4.SpringBoot
4.1 自动配置的过程
5.写题
5.1 找出字符串中最长回文串

百度二面(3月28号、50分钟)

1.自我介绍,项目介绍
2.quartz和cron表达式讲了一点
3.项目是单机部署的quartz定时任务系统,推了一个场景:假设我们现在部署到多机上,如何保证任务不会被多次执行
3.1 说了redis提供的分布式锁(setnx),原理
3.2 场景题:我们不适用redis,现在需要你用MySQL实现一个分布式锁(没答好)
(我考虑的是先构造表,MySQL的悲观锁,用update的方式去获取)
4.Java基础
4.1 new String(“s”),讲一下这个过程,生成几个对象
4.2 equals和hashCode
如果x.equals(y),但是hashCode不相同,产生什么问题
5.多线程
5.1 s

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
百度外包前端面试题红绿灯是一个经典的异步编程问题。题目要求红灯每隔3秒亮一次,绿灯每隔1秒亮一次,黄灯每隔2秒亮一次,并且三个灯需要交替重复亮灯。 题目给出的代码只完成了一次流程,即红灯亮一次,黄灯亮一次,绿灯亮一次。但题目要求的是交替重复亮灯,所以需要对代码进行修改。 可以使用回调函数的方式来实现交替重复亮灯。首先定义一个任务函数`task`,该函数接收三个参数:计时器时间、灯的颜色和回调函数。在`task`函数内部使用`setTimeout`函数来设置定时器,在定时器的回调函数中判断当前灯的颜色并执行相应的操作,然后调用回调函数。在回调函数中再次调用`task`函数来实现循环调用。 具体实现如下: ```javascript const task = (timer, light, callback) => { setTimeout(() => { if (light === 'red') { red() } else if (light === 'green') { green() } else if (light === 'yellow') { yellow() } callback() }, timer) } task(3000, 'red', () => { task(1000, 'green', () => { task(2000, 'yellow', () => { task(3000, 'red', Function.prototype) }) }) }) ``` 上述代码实现了红绿灯的交替重复亮灯,首先通过调用`task`函数来启动红灯,然后在红灯的回调函数中调用`task`函数启动绿灯,再在绿灯的回调函数中调用`task`函数启动黄灯,最后在黄灯的回调函数中再次调用`task`函数启动红灯,从而实现了红绿灯的交替重复亮灯。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [美团前端一面必会手写面试题汇总](https://blog.csdn.net/helloworld1024fd/article/details/127582853)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值