邦盛科技一面+二面+hr面+综合面面经(oc)

邦盛一面(2.8)

技术面(30min)

项目

  1. 项目介绍
  2. 项目中redis如何实现的点赞关注
  3. 点赞关注放在redis中,会随着帖子增加redis中占的内存变大?(。。)
  4. 二级缓存怎么实现的(caffine+redis)

八股

  1. 缓存穿透了解过吗?怎么解决?(业务层判断、redis存空值、布隆过滤器))
  2. mysql事务隔离讲一下(ru rc rr 串行 )
  3. 数据库索引一般怎么建立的
  4. 哪些情况索引失效(or 最左 函数 <> between 运算 隐式转换)
  5. 你说你熟悉多线程,项目中哪些情况使用到了多线程?(quartz)
  6. quartz底层源码了解吗(不了解,说了下自定义线程池7大参数)
  7. 默认拒绝策略,如果线程满了,再来一个会发生什么(异常)
  8. AQS讲下(双向链表 共享资源)
  9. AQS的共享变量用了什么关键词修饰(volatile)
  10. volatile能解决什么问题(可见性 防止指令重排 不保证原子性)
  11. 有什么想要学习的方向(分布式、微服务)
  12. 介绍下什么是分布式(保证高可用?)
  13. 分布式的事务问题(分布式锁?)

聊天

了解我们公司吗?开始介绍公司,大概是流计算、快速信用评估方面的

反问

  1. 表现得如何,有什么建议?(还行,多看看源码)
  2. 面试还有几轮(总监面、hr面)

邦盛二面(2.9)

总监面(30min)

  1. 学校中各个比赛的情况
  2. 校内项目的情况
  3. 项目中遇到成员意见不一怎么处理
  4. 软件工程中的开发模型有哪些(忘了 瀑布模型、快速原型模型、增量模型、螺旋模型)
  5. 对软件工程的理解
  6. 公司中项目的成员组成有哪些(产品经理 项目经理 前端开发 后端开发 运维 测试.DBA?)
  7. ThreadLocal项目里用过吗?(用来存用户信息,内存泄漏,解决)
  8. 什么时候能来实习

反问

  1. 公司业务如何(流计算)
  2. 工作内容(进去先是后端平台开发)
  3. hr面的情况

邦盛hr面(2.13)

  1. 你参加了很多大赛,你认为这些大赛给你的优势或帮助是什么?
  2. 什么时候开始决定要走Java开发岗位(练习时常两年半)?原因是什么?
  3. 两年半前决定学Java的动因
  4. 怎么进入到实验室,怎么进入到比赛的
  5. 对企业的Java开发岗位怎么理解(答了人员组成和开发流程)
  6. 目前面了几家
  7. 你的优势和不足是什么
  8. 企业开发中代码质量和交付时间如何权衡
  9. 开发规范中哪些点需要保持
  10. 对公司业务有了解吗

反问

  1. 架构部门和研发部门进去是哪个?(研发)
  2. 需要提前实习吗?(建议没有硬性要求,实习可抵试用期)
  3. 实习期工资?(4k+餐补)
  4. 试用期多久?(3个月)
  5. 研发岗需要出差吗?(可能需要,1-2周也可能2-3月现场开发)
  6. 薪资多少?(根据面试结果定)
  7. 结果多久出?(1-2周)

邦盛综合面(2.14)

本来hr面是最后一轮,不知道为啥hr突然打电话来加了个综合面

  1. 介绍项目
  2. 为什么学习Java
  3. 你认为你的项目有什么技术难点
  4. 项目中redis过期是如何设置的
  5. redis中数据删除后又查到有什么解决方案?(没太懂问的啥,讲了下惰性删除)
  6. 场景题:假如本来一个页面加载需要10秒,加入redis后页面加载需要1秒,但是这时候缓存过期,可能又会花很多的时间去加载,有什么解决方案?(感觉有点像缓存击穿,又不完全是,答了几个缓存击穿的解决方案)
  • 设置key不过期
  • 开个定时线程检查
  • 数据库互斥锁
  • redis的value中自定义一个过期时间,代码中加锁,第一个线程拿到锁,开一个子线程去DB读数据,父线程直接返回过期数据,子线程读取到数据放入redis后释放锁,第二个线程获取锁失败的话,就循环sleep去判断redis中是否有数据

7.别人对你的评价是什么样的?

8.老家哪的?家里人对你的评价?

9.最大的爱好是什么?

10.学习技术的动力来自于哪里?(热爱编程)

11.工作后要是对技术的热情慢慢消失了怎么办?(面试官建议不要止于热爱,+ 个人能力成长 干一行爱一行)

12.什么时候能来实习

#23届找工作求助阵地#
全部评论
楼主什么时候笔试的
1 回复 分享
发布于 2023-02-13 14:52 安徽
老哥现在在邦盛科技吗。应届生谈薪多少合适,请教
点赞 回复 分享
发布于 03-04 12:30 湖南
三方违约金多少
点赞 回复 分享
发布于 2024-10-29 13:43 黑龙江
请问是线上还是线下面试,面试有手撕吗?
点赞 回复 分享
发布于 2023-04-20 16:36 浙江
项目应该是牛了论坛,参考意义帮助很大
点赞 回复 分享
发布于 2023-02-26 04:39 广东
邦盛能开多少?
点赞 回复 分享
发布于 2023-02-12 22:57 浙江
交付还是开发?
点赞 回复 分享
发布于 2023-02-12 22:43 山西

相关推荐

04-27 16:50
已编辑
门头沟学院 Java
1.&nbsp;mysql删除表语句是什么?drop和truncate区别?2.&nbsp;删除一行数据的sql3.&nbsp;查询一张表所有的数据的sql4.&nbsp;查询一张表有多少条数据sql。&nbsp;&nbsp;count(1)和count(*)区别5.&nbsp;i++和++i区别6.&nbsp;介绍下重载和重写。&nbsp;&nbsp;构造方法可以重写重载吗?7.&nbsp;arraylist和linkedlist的区别8.解释一下深拷贝和浅拷贝9.&nbsp;如果有三个线程,我如何能保证顺序执行.方法1:&nbsp;使用join()join()&nbsp;方法可以确保一个线程在另一个线程执行完毕后才开始执行。通过合理地调用&nbsp;join(),可以实现线程的顺序执行。方法2:使用countdownlatch/semaphore方法3:&nbsp;使用锁和原子类,wait()&nbsp;+&nbsp;notifyAll()方法4:&nbsp;使用completablefuture10.&nbsp;如果有一个&nbsp;T1&nbsp;线程,想把&nbsp;T2&nbsp;线程加到&nbsp;T1&nbsp;里面,怎么实现?方法1.&nbsp;使用join()Thread t2 = new Thread(() ->&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;T2&nbsp;线程的执行逻辑&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T2&nbsp;线程正在执行&quot;);});Thread t1 = new Thread(() ->&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T1&nbsp;线程开始执行&quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;T1&nbsp;线程在此处等待&nbsp;T2&nbsp;线程执行完成&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t2.start();&nbsp;&nbsp;//&nbsp;启动&nbsp;T2&nbsp;线程&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t2.join();&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;T1&nbsp;等待&nbsp;T2&nbsp;完成&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T2&nbsp;线程已完成,T1&nbsp;继续执行&quot;);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(InterruptedException&nbsp;e)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();&nbsp;&nbsp;&nbsp;&nbsp;}});t1.start();方法2.&nbsp;使用future.get()ExecutorService&nbsp;executor&nbsp;=&nbsp;Executors.newSingleThreadExecutor();Future future = executor.submit(() ->&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;T2&nbsp;线程的执行逻辑&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T2&nbsp;线程正在执行&quot;);});Thread t1 = new Thread(() ->&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T1&nbsp;线程开始执行&quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;T1&nbsp;线程在此处等待&nbsp;T2&nbsp;线程执行完成&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;future.get();&nbsp;&nbsp;//&nbsp;阻塞直到&nbsp;T2&nbsp;完成&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T2&nbsp;线程已完成,T1&nbsp;继续执行&quot;);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(InterruptedException&nbsp;|&nbsp;ExecutionException&nbsp;e)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;finally&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;executor.shutdown();&nbsp;&nbsp;&nbsp;&nbsp;}});t1.start();方法3.&nbsp;使用countdownlatchCountDownLatch&nbsp;latch&nbsp;=&nbsp;new&nbsp;CountDownLatch(1);Thread t2 = new Thread(() ->&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T2&nbsp;线程正在执行&quot;);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;finally&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;latch.countDown();&nbsp;&nbsp;//&nbsp;完成时减少计数&nbsp;&nbsp;&nbsp;&nbsp;}});Thread t1 = new Thread(() ->&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T1&nbsp;线程开始执行&quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t2.start();&nbsp;&nbsp;//&nbsp;启动&nbsp;T2&nbsp;线程&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;latch.await();&nbsp;&nbsp;//&nbsp;等待&nbsp;T2&nbsp;完成&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;T2&nbsp;线程已完成,T1&nbsp;继续执行&quot;);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(InterruptedException&nbsp;e)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();&nbsp;&nbsp;&nbsp;&nbsp;}});t1.start();11.&nbsp;a=a+b&nbsp;和&nbsp;a+=b的区别a&nbsp;=&nbsp;a&nbsp;+&nbsp;b,如果&nbsp;a&nbsp;和&nbsp;b&nbsp;的类型不同(如&nbsp;a&nbsp;是&nbsp;int,b&nbsp;是&nbsp;double),需要显式强制类型转换,否则会编译报错。即:double&nbsp;a=&nbsp;1;int&nbsp;b&nbsp;=&nbsp;2;a&nbsp;=&nbsp;(double)&nbsp;(a+b);&nbsp;a&nbsp;+=&nbsp;b,会自动执行隐式类型转换,将结果转换为&nbsp;a&nbsp;的类型。13.&nbsp;数据库的三大范式如答案有错误欢迎指正
查看24道真题和解析
点赞 评论 收藏
分享
04-29 14:41
已编辑
深圳大学 Java
这段时间忙着毕设一点准备没有,本身学的也是java(技术水),发现投的java全部石沉大海,反倒是投的cocos相关和游戏开发的回复率较高,做了两场笔,进了2次面(有一家没笔试)3.30&nbsp;网申先插播一条逸闻,去boss上搜到这家的游测助理岗,hr秒批说让进官网网申,然后进去一看有游戏开发岗,果断转投这个,次日boss上hr回我为什么没投,我说我投客户端开发了(笑)3.31次日通过,当天完成各位都完成过的各类评测4.3上午收到观点题通知,要求24小时完成,但我那天要忙着回家,到家已是半夜2点。在网吧没开视频满脸困意与疑惑下写完了小作文。4.8假期后返校某天突然收到笔试通知,4.9指定时间内完成,具体内容不太记得,大致范围包含基本八股,数据结构各种树和图,数据库相关,经典死锁等。但我感觉是很难的,最后给一道游戏有关暴击率期望计算题(思想正确,结果错误❌)4.14又是突然之间,收到技术面通知安排在4.18下午此时才注意起来这家已经进到正式流程问了两个c++八股,接着跳转到项目,进行针对性深挖,后续几乎一直在看项目(大约3个项目,有一个没写在简历上),聊了1h15min左右。期间穿插一些c++的问题,智能指针,指针函数之类的。手搓单例模式。4.21通知4.24上午hr面试。hr面很平淡,先问常规问题,聊了吸烟问题,实习问题,家庭情况等,不过家庭情况聊的比较细致。接着问期望薪资,加班接受情况。然后问了两个观点题(应该是当时没答好的两个,当时答的时候我自认答得三观很正,但后来才了解到这家并非要三观正(笑))个人感觉答的良好。结束说五个工作日内给消息。结束之后两小时显示审核中。4.29审核的第5个工作日,下午2点显示未录用。没有原因。全程也没有对接人。估计是要多了。结论:过完五一接着找吧(昨天才拒了另一家搞机器学习的,这下自己搞到0offer了)
点赞 评论 收藏
分享
评论
17
64
分享

创作者周榜

更多
牛客网
牛客企业服务