阿里电面整理

本文针对Java面试中的常见问题进行了详细解答,包括基础知识、JDBC、数据结构、开源框架等内容,并探讨了设计模式、Linux操作、Webservice等话题,同时分享了SQL编写与优化的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Java的基础知识

    String 拼接 的替代操作?  StringBuffer 和 StringBuilder(线程不安全,但速度比StringBuffer快)

    Java的多线程的两种实现方式 

    Java中key,value 这样的数据结构有那些? HashMap,HashTable

    Set 和 List 的区别?

    vector 是啥?

这一部分主要是考察的基础知识,可惜我的基础还不够扎实,还得努力,要经常地翻翻api,要尝试寻找新的方法实现原来的固定做法。

2. JDBC

     statement,prepareStatement 的区别

     数据库事务隔离级别? 四种哦!

3. 数据结构

     二叉树

4. 开源的一些框架

    主要是ssh

    struts,struts2的主要区别?(在说这个问题上,我好像没有说很多,我自己的毛病就在这,不是很主动)

    谈谈你对spring 的 ioc 看法!

5. 设计模式

    他只问了我一个单例模式

6. linux系统的相关操作

    linux下的常用操作,命令要熟记。

7. webservice

    我回答的不是很理想,我做过但是没完整的说出来。。。

8. 谈谈你自己做过的一些项目。

    在这里主要他想知道你有没有从事过分布式的项目,有没有接触过处理高并发的数据库的经验,可惜我么有!

     T_T,可惜我答得不是很理想,虽然都不是很深奥,机会总是垂青那些随时做好准备的人,这次我又没做好。。。。

1,如果有row_number() 分析函数,如果我有一张学生表student,里面有班级、学生名、分数,排名我想得到如下数据,该如何用row_number() 排序写一条sql获取,不能用union all来连接获取。
--班级、学生名、分数,排名
  一班 李一 100 1
  一班 李二 100 1
  一班 李三 100 1
  一班 李四 100 4
  一班 李五 99 5
  一班 李六 98 6
.......-- 一班很多学生,依次排下去。
  二班 王一 100 1
  二班 王二 100 1
  二班 王三 99 3
  二班 王四 98 4
  二班 王五 80 5
...... 二班有很多学生,依次排下去。

我的答案是:select banji,name,score,row_number() over(order by banji, name,score desc)。结果他说不对,最近在做sqlserver开发,可能长时间没有碰oracle了,所以导致当时一下没有想出来,被严重BS了,事后仔细一想,其实很简单的,我以前还写过类似的sql,只是时间长了,忘记了,呵呵,不知道大家知道怎么写了么?

2,有关优化的事情,A表500万数据,B表2亿条数据。A与B的数据结构相同,select count(*) from A,B where A.id=B.id。问下,这条sql很耗时,如何优化这条sql,使之效率最高。

我答案,看执行计划,是否走索引,不走的话,就重建所以,他说,如果索引都是完好无损的,而且2亿条数据走索引时优化不过来的,问我还有别的方式来优化这条sql不?我一时就答不出来了,因为sql很简单了,不知道如何优化了,而且我们的oracle库也没有类似的查询,所以一下想不出来怎么回答,结果又被BS了。

3,数据仓库里面,如果你根据客户的需求写完了sql,取到了数据,你如何保证这些数据时准确的呢?

我回答,1,根据需求写一些测试sql来验证,比如数据总量,主要字段,主要信息,抽取几条验证。
  2,找客户,跳一些数据来验证。
结果他反问我这些方法是我自己想出来的吗?我说是的,我感觉我的回答不太对,有点不妙。

还有一些我回答正确的问题,比如管理方面的,我就答的不错,我就不列出来了。反正今天在引以为强项的sql编写与优化上面被问到了,证明我的oracle开发基本功还是很差的,以后要加强这方面的练习了。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值