4.10松鼠ai Java二面

很可惜的二面,感觉sql准备不充分,狠狠反思,毕竟开始学mybatis之后就没咋写过sql了

八股加项目

  1. 还是喜闻乐见的自我面试环节(不是同一个面试官欸,让我再次介绍了一遍)
  • 一般是介绍学校,专业,写博客的兴趣,钻研数据结构,算法的兴趣,看书的兴趣,钻研java技术和项目的技术,有无懂得牛友友可以介绍一下还有什么自我介绍的加分项

  1. java的8种基本数据类型(背的很顺利)
  2. HashMap的扩容机制(老生常谈了,这不直接吟唱??)
  3. 请讲下缓存穿透(redis常考,吟唱)
  4. 如果当大量数据进来时,可以有哪些其他的解决方案咧(刚好会布隆过滤器,直接吟唱2分半,面试官说不错!)
  5. 缓存淘汰有哪些常见策略:(有点忘了,小小的吟唱了几点)
  • 先进先出(First-In-First-Out,FIFO):按照缓存项进入缓存的顺序进行淘汰,最早进入的缓存项先被淘汰。
  • 最近最少使用(Least Recently Used,LRU):根据缓存项的访问时间来进行淘汰,最近最少被访问的缓存项先被淘汰。
  • 最少使用(Least Frequently Used,LFU):根据缓存项的访问频率来进行淘汰,访问频率最低的缓存项先被淘汰。
  • 设置存活时间(Time-to-Live,TTL):
  • 根据权重(Weighted):为每个缓存项设置一个权重值,在淘汰时优先淘汰权重较低的缓存项。
  • 随机(Random):随机选择一个缓存项进行淘汰。

  1. 为啥HashMap每次扩容是扩容到原来两倍
  2. 讲讲java集合类(思路基本上是先讲两个顶级父类,再各自延展到对应的经典数据结构,狠狠吟唱!!)
  3. LinkedList是线程安全嘛,有什么解决方案(可以加锁,也可以使用Collections.synchronizedList)(这里不太熟就没有吟唱。。。)

敲代码

走楼梯算法

秒了,本蒟蒻荣光

两道sql废了,真的很久没写了,后面补了

学生表:student(学号,学生姓名,出生年月,性别)

成绩表:score(学号,课程号,成绩)

课程表:course(课程号,课程名称,教师号)

教师表:teacher(教师号,教师姓名)

  1. 查询至少选修两门课程的学生学号
SELECT 学号
FROM score
GROUP BY 学号
HAVING COUNT(课程号) >= 2;
  1. 查询平均成绩大于85的所有学生的学号、姓名和平均成绩
SELECT s.学号, s.学生姓名, AVG(sc.成绩) AS 平均成绩
FROM student s
JOIN score sc ON s.学号 = sc.学号
GROUP BY s.学号, s.学生姓名
HAVING AVG(sc.成绩) > 85;

呜呜呜,写sql真的写的稀烂,赶紧恶补了一下,以后不能再犯SQL的错误了

全部评论
sql没写出来就寄了吗
点赞 回复
分享
发布于 04-22 20:31 江西

相关推荐

11 23 评论
分享
牛客网
牛客企业服务