2024-12-19-运去哪

2024-12-19-运去哪

上午初试

  1. 在java里面有哪些方式实现多线程
  2. 线程池是怎么去管理线程的,它与我们单独去创建线程有什么优点
  3. 从技术角度锁是一个什么样的场景呢,为什么要用锁,平时我们要怎么使用锁呢
  4. 有什么方式分析sql的性能,怎么去优化

下午复试

  1. 一个java进程的话,CPU利用率比较高,怎么快速定位问题
  2. 多线程场景题:一个主线程启动两个子线程,启动之后主线程阻塞,等待子线程都执行完之后再回到主线程执行(说了用过的CompleteFuture和CountDownLatch)
  3. CountDownLatch底层的一些逻辑知道吗
  4. AQS知道吗
  5. 讲一下TheadLocal内存结构和应用场景
  6. 你能想到spring框架里面在什么场景会用到ThreadLocal
  7. spring IoC容器启动过程中有哪些扩展机制,就是再启动过程中我们可以通过什么方式去插入一些自定义的逻辑
#java面经##java实习#
全部评论
两轮面试问了很多实习的,就不放出来了
点赞 回复 分享
发布于 昨天 20:08 上海

相关推荐

不愿透露姓名的神秘牛友
昨天 14:31
景嘉微 软开 18k*16 硕士211
点赞 评论 收藏
分享
12.16:完成用户编辑接口的开发;用户编辑功能和创建功能有很多类似的地方,因此为了避免重复代码,我将参数校验抽取成了一个公共方法;且由于官网已经上过了编辑功能,基本逻辑和后台编辑用户是类似的,唯一的区别在于,web端需要回显个人信息,而后台则返回true或者false就可以。而又由于保存了用户的变更记录,因此从数据库获取的敏感信息,不能解密,需要加密保存到变更记录里面,因此web端就还需要将敏感信息单独解密,回显到个人信息;12.17:完成用户编辑接口提测,修改留资推送线索中的语言动态;原有的推送线索里包含了语言,但是是在代码中写死的常量-英语,由于现在多语言表已经创建,可以获取用户选择的语言,因此将语言通过获取当前支持的语言列表来动态获取;然后推送给ocrm12.18:专项代码review,优化已有的代码;在代码review的过程中,我的接口返回值,是基本数据类型boolean,而通用的都是返回Boolean,于是stone老师给我提了个问题,接口返回到底选择boolean还是Boolean?然后我去查资料我本以为是序列化的问题,但其实返回的时候底层已经转成了包装类Boolean,所以本质的区别其实是特殊值的问题,boolean是基本变量,只有两个值:true和false;而Boolean是包装类,有三个值:true、false和null,在某些特殊场景,用null可以进行一些特殊判断;因此接口返回布尔值最好选择包装类。12.19:修改seo设置出现的bug;在解决这个bug的时候,我发现项目中的多语言获取其实存在问题,现有的多语言配置涉及三张表,字典、模板配置表和多语言字段表,而在配置多语言时,仅仅修改了配置表,但是获取多语言字段时,只获取了字典表,因此就会出现一个问题:配置默认语言的时候,只修改了配置表,如果这个时候去获取多语言表,默认语言还是修改前的默认语言,导致了数据不一致。和孙老师讨论后,孙老师在配置默认语言时,同步修改多语言表,解决了这个问题。而seo的bug也类似,由于我是直接获取的多语言表,假如现在只有一种语言,我去新增语言,多语言字段仍然只有原先语言字段,导致回显seo时仍然只有一种语言,因此我需要去读取配置表,根据配置表的语言去获取多语言字段值。12.20:后台筛选整合优化;主要完成了字段整合的需求,例如学员邮箱分为注册邮箱和备用邮箱,现在整合到一起,并且支持多选。
投递思源智通等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务