佬,为什么是一面后笔试呀
点赞 1

相关推荐

(自我介绍,略)#面试常问题系列#我:介绍项目,提到一些设计的改动就是你这边有提到状态的这弱一致性,那你这边怎么去理解弱一致性和强一致性?你有对这一块有了解吗?我理解,我这边看你还有使用 naocs,充当的部分是什么?是配置中心还是做那个服务发现这一块的能力?想问你的就是对于 Narcos 的 AP 和 CP 是怎么去配置的?然后你是怎么考虑这个 AP 和 CP 的?嗯,对这一块有了解吗?那如果我不用 MQ 的话,能不能实现这一套呢?就是我完全靠,比如说就只靠DB,我不需要 MQ 这样的一个中间件能不能实现同样的效果呢?(分布式事务)定时任务的频率你是怎么考虑的呢?如果是多节点呢?怎么考虑定时任务的同步协作那如果不想用分布式的引擎调度呢?(回答分布式锁)在设计这个分布式锁的时候会考虑到哪些东西?你这边对于定时任务的线程池的配置是怎么样的?如果数据量上来了之后,你定时任务超出了那个执行的时长的话,你是怎么考虑这个情况的呢Redis 常用的一些数据类型有哪些呢?比如 Redis 里面我要存一些对象列表,然后这些对象里面有一些属性,然后我需要对这些对象列表做分页、做搜索、做筛选。有这三个需求, Redis 能满足我,哪一个数据类型能满足我?或者是它这个数据类型的 API 能不能满足这一点?如果不满足的话,有没有其他的解决方案的你这一块提到了lua脚本的话,那如果这个 Lua 脚本很复杂的情况下,你是怎么做调试的边的话,我看你这边对 Java 并发编程这一块了解的比较多,你可以讲一下对于 Java 内存模型的一些理解吗?这边的理解我想我希更希望的是你能表达出这个内存模型,比如说我们都知道计算机硬件,对吧?都知道有CPU,对吧?有内存,多个线程会对这一块数据做进行操作的时候,为什么会有并发的问题?然后我们怎么从那个计算机的硬件角度上去理解它这样整体的一个过程?然后我们又是通过什么样的方式来解决这个问题的?然后我们再去了解这个过程,就是它是通过什么特性或者通过什么协议来保证的,然后或者是它这个协议其实际上原则上没有保证这一点,又是通过什么手段去解决这个问题的?你简单讲一下这边就是提及到两点,一个是 synchronize 的关键字,对吧?嗯,然后还有一个是 retrend lock 这一些对应的一些API,对吧?嗯,是的,然后你刚刚也提到 volatile 这一块的一个关键字,它只能保证内存的数据的一个可见性。那你这边,嗯,能深入聊一下,就是对于 volatile 这一块,它关键字实际上是怎么保证这个内存数据是可见的呢(答了字节码层面的标记变量) return lock 这一块,它你知道它背后它是怎么支持的吗?跟那个 synchronize 的区别是什么呢你理解的 return 的log,它实际上维护的是一个状态数据,这一块状态数据是在哪里存储的呢?使用 spring 事务过程中的时候是怎么使用它的?然后使用它的时候需要注意哪些方面?这些方面会有哪些隐患?说到了使用事务的时候会有你这个就是一开始定好的分布式锁的力度和事务所谓的力度并不一致的情况。那我如果想问一下,我在一个事务方法里面,它可能存在一些异步的一些代码,我可能就是比如说有些代码会去考虑到并行的情况,我想去提速的话,我需会遇到哪些问题?或者说这个问题能不能解决掉?其实想问的一点就是你理解的这一块的事物的数据,如果我们是用声明式的注解去做的时候,这一块事物的数据它是怎么存储的?您知道了解这一块吗?(懵逼,面试官解释了一下:它其实是跟着线程变量来的)就是你在使用这个事务过程中的时候,假如我们这边不用 d b 的事物去做了,然后那我能不能就是相当于我自己去实现套你这一套的事物的一个提交回滚?然后我可能不是放,不是用 DB 的那个statement, prepare statement 去做这一块事情的话,有没有其他的方式去做呢?比如说我把这个数据,就是这些事物的一些数据,因为我们这个东西肯定是存这个这些DB、 MySQL 或者 PG 它们引擎里面,它自己会去存这样的一个事务数据,对吧?它有对应的事务记录,那这个事物的记录你如果我把它迁移到,比如说就假设是一个开放性,等于,就比如说我放到 Redis 里面,那我在 Redis 里面应该怎么存?然后我怎么去用这一块的一个就是这一块的事务记录我是怎么交互的呢?比如说我想在 Java 里我不用 Sprint 事务了,我想自己实现一套AOP,然后这一块我该怎么去实现呢?(完全懵逼)我们实际上我们是有一些业务库和一些用专门用来做查询的一些库,我们是会分开的,就是写库和查库,我们实际上可能并不是统一到数据源,那我们是怎么保证这一块去做的呢?就是你会选择去做实时的时候,双写还是离线的方式去做,那离线去做的时候你又怎么去控制这一块的一个定时任务的频率的?对实时和离线这一块的选择会考虑哪方面的一些事情呢?就是为何选择实施?为什么要选择离线?你有想过这一点吗?(依旧懵逼)----------------------------------------------------------------------彻彻底底被拷打得体无完肤,最服气的一次,面试官人很好,答错时会给出一些解答和考察方向,打断的时候也很有礼貌
查看22道真题和解析 面试常问题系列
点赞 评论 收藏
分享
#面经##哈啰##处女面##Java日常#处女面 紧张得一批3.3 投递3.5 一面将近1h定在晚上8点钟面试,面试官全程没开摄像头,感觉像kpi,第一次面试就碰上kpi,难蹦1. 自我介绍2. 问我实习能多久3. java基本数据类型4. 包装类型与基础类型有什么区别5. 拆箱、装箱的时机6. wait() 和 sleep() 的区别7. 哪一个是线程共享的?8. synchronized关键字一般作用在什么上面9. 不同的作用域起到什么样的效果10. volatile关键字11. 在你的项目中用到了哪些集合12. ArrayList 和 HashSet 的区别13. ArrayList、HashMap 的底层数据结构14. HashMap 和 ConcurrentHashMap 的区别15. 哈希冲突的处理办法16. 用过哪些类型的线程池17. 线程池包含哪些参数18. 拒绝策略有哪些19. 线程池的工作流程20. JVM 内存模型21. 堆内存模型划分22. 程序计数器用来存储哪些内容23. 栈的作用24. new一个对象怎么在内存模型划分存放25. 类加载放在哪里26. GC你熟悉哪些27. G1回收器有哪些步骤,每个步骤做哪些(STW是什么???)28. G1回收器存储上有什么特点、不足(不会,说有时间,让我回头去了解一下...)29. FullGC 时机30. 多个线程访问一个变量,怎么保证线程安全的31. 问我哪个项目收获最大(直接项目介绍)32. 问我项目有什么技术难点33. SpringBoot的特性34. AOP的使用35. AOP有几种切面模式36. AOP切片有哪几个环节(@Before、@After、@Around...)37. @Around实现的特点38. @Resource 和 @Autowired 的区别39. Spring Bean 怎么发现bean40. 用过RPC框架吗41. redis用于存储哪些数据,支持哪些数据类型42. redis过期时间,底层怎么实现key值的过期43. redis持久化方案给我共享一个文稿,让我现场做题,还是选择题????????直接让我说选项第一题java程序输入输出,第二题出栈入栈问栈长,第三题传输层协议,后面忘了(5分钟)代码题,说解题思路,LC332.零钱兑换,然后我直接说递推公式:dp[i] = Math.min(dp[i], dp[i - coins[j]] + 1),我说出来,然后就让我回去看原题问我现在在哪里?问我有什么兴趣爱好?让我自己给贴三个标签....反问:1. 给我一个简短评价,觉得我表达能力可以,但是因为在学校,没接触到实际项目,缺少广度深度2. 业务3. 最后祝我学业进步,md,直接凉晚上10点直接g总结:1. 感觉项目方面还得提高深度以及广度2. 八股文还可以,基本上能说出百分之九十,Spring部分不是很熟悉,还是八股文深度不够,多看3. 第一次手撕代码挺紧张,还得多练多面冲了!
Yki_:耐面王
点赞 评论 收藏
分享
牛客网
牛客企业服务