13. 赢时胜面试复盘

结果

过了,拿到offer

时间

2023.3.13

心得

题目

讲一下你做过的业务?

总结过

数据库层面的性能问题排查过吗?

讲一下遇到的慢sql

怎么查询慢sql?

又是这个问题

mysql查看执行计划的方式有几种?

先记住 explain 关键字吧。

jdk1.8的新特性可以说一下吗?

总结过

localDate和Date的区别是什么?

总结过

stream流可以收集多次吗?

stream属于管道流,只能消费一次,当第一个stream流调用完毕方法,数据就会流转到下一个Stream上

而这时第一个stream流已经使用完毕,就会关闭了,所以第一个Stream流就不能再调用方法

stream().map()时,stream是否已经被操作了?

不是,stream流属于惰式执行。stream上的操作并不会立即执行,只有等到用户真正需要结果的时候才会执行。

列举几个线程安全的集合?

总结过

#社招##牛客在线求职答疑中心##数据人offer决赛圈怎么选#
全部评论
我曾经做过的业务包括: 1. 电商平台的订单管理系统,包括订单创建、支付、发货、退款等功能。 2. 社交平台的用户管理系统,包括用户注册、登录、个人信息管理、好友关系管理等功能。 3. 金融平台的投资管理系统,包括产品管理、投资记录管理、收益计算等功能。 在数据库层面的性能问题排查方面,我曾经遇到过慢SQL的问题。我会通过以下步骤来排查: 1. 使用MySQL自带的慢查询日志功能,查看哪些SQL语句执行时间较长。 2. 使用EXPLAIN关键字,查看SQL语句的执行计划,分析是否存在全表扫描、索引失效等问题。 3. 使用MySQL自带的性能分析工具,如pt-query-digest等,分析SQL语句的执行情况,找出慢SQL的瓶颈所在。 在MySQL查看执行计划的方式有多种,包括使用EXPLAIN关键字、使用SHOW PROFILE命令、使用MySQL自带的性能分析工具等。 JDK1.8的新特性包括Lambda表达式、函数式接口、Stream API等。Lambda表达式可以简化代码,使代码更加简洁易懂;函数式接口可以方便地实现函数式编程;Stream API可以方便地进行集合操作,如过滤、映射、排序等。 LocalDate和Date的区别在于,LocalDate是Java 8引入的新日期时间API中的一个类,它是不可变的,线程安全的,可以方便地进行日期操作;而Date是Java早期的日期时间API中的一个类,它是可变的,线程不安全的,使用起来比较麻烦。 Stream流可以收集多次,但需要注意的是,每次收集都会创建一个新的流,原来的流不会受到影响。如果需要对同一个流进行多次操作,可以使用peek方法来进行中间操作,而不是终止操作。 线程安全的集合包括ConcurrentHashMap、CopyOnWriteArrayList、CopyOnWriteArraySet等。这些集合都是线程安全的,可以在多线程环境下使用,而不需要额外的同步措施。
2 回复 分享
发布于 2023-03-18 11:16 AI生成
后来入职了吗,大佬
点赞 回复 分享
发布于 03-22 10:51 山西

相关推荐

查看16道真题和解析
点赞 评论 收藏
分享
面试时间:40分钟1.简单介绍下自己2.介绍下实习经历里的优化线上逻辑接口3.基于第二点的拷打,为什么用异步线程池,不直接改远程调用的逻辑?(我说因为我是实习生,我没权限,就在我权限范围内优化了)4.聊聊实习经历里的easyexcel的跨行合并。(听完就没后续了,应该不是很了解easyExcel,就没拷打我)5.hashmap的底层结构讲一讲。(依旧高频考点全文背诵,面试官直说讲的好)6.线程池里的几个属性是干什么的,你知道吗?(线程池核心参数,八股吟唱)7.它的拒绝策略有哪些?(只答了两个策略,剩下的忘记了)8.java中synchronized的锁升级过程是什么?(答了个基本八股,没答到点)9.就是说它在偏向锁,轻量级锁,重量级锁的时候,是怎么体现哪个线程持有这个锁的呢?(我答的锁标志位,面试官说不对,它只是一个锁的状态位,让我后面了解下)10.java中除了synchronized还有lock,里面有基于aqs框架实现的锁。aqs是什么样子的?(继续高频八股吟唱)11.aqs里面的状态变量,是通过什么方式去获取的?(答的cas)12.里面的可重入锁,是怎么去体现可重入性的?(线程每次获取到锁都state++,每次的获取都必须有对应的释放,所以最后释放资源state一定还是变为0,这样实现了可重入性)13.怎么体现公平和非公平呢?(八股吟唱)14.mysql的事务隔离级别有哪些?15.mysql里遇到了慢sql,该怎么去排查呢(只答了explain执行计划,和索引方面的优化,还有就是减少查询量)16.如果说我们的表就是很多数据,亿级别的,怎么去提高查询效率呢?(答的分库分表,多建立常用联合索引,确定好查询的列数据)17.如果是分表的话,你应该怎么分呢,就是说如果分表的话,我们会有怎样的考虑?(答的是水平分表和垂直分表,以及后端要根据查询条件判断应该命中哪张表)18.如果sql的时候遇到了死锁问题,应该怎么办呢?(答半天没答上点来,面试官告诉我,死锁就是资源互相持有,a持有b资源,b持有a资源,那么应该在业务层面避免这种互相持有,可以统一先把a资源相关的业务都走完,再去统一处理b资源的业务)19.redis持久化策略(rdb和aof,八股吟唱)20.redis淘汰策略(没答好,只答出了lru和随机淘汰,lfu和默认策略,以及ttl都没答出来)21.jvm八股,只问了一个看我没答出来就不问了。22.反问环节总结就是有4道题完全没答到点,其他都感觉答的挺好的。ps:反问环节我问"去年的实习生转正了多少",面试官说一句"这个不能告诉你,反正有"😂,之前几个公司都是很直接告诉我转正多少的,只能说这家公司适合日常,不太适合转正
程序员小白条:这公司就是只招日常的,当初我还在上学的时候就面过,我记得牛客有人说实习1年没转正的
查看21道真题和解析
点赞 评论 收藏
分享
评论
3
7
分享

创作者周榜

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