阿里笔试之行收获

本来想22号考完就写的,结果一直拖到现在。

阿里的题目还是很基础的,比如说Java附加题的第一题,要求写出程序的运行结果、

点击查看原图

本来一看还是蛮开心的,因为构造块和静态块我都知道,但是又一看呆了。。。

我不知道静态块的运行顺序。所以只好瞎猜了。。

Java 类的初始化顺序

规则1:在类第一次加载的时候,将会进行静态域的初始化:
1. 将所有的静态数据域初始化为默认值(0、false 和 null)
2. 按照在类中定义的顺序依次执行静态初始化语句和静态初始化块

规则2:调用构造器的具体处理步骤:
1. 将所有的数据域初始化为默认值(0、false 和 null)
2. 按照在类中定义的顺序依次执行初始化语句和初始化块
3. 如果构造器调用的其他的构造器,则转而执行另一构造器
4. 执行构造器主体

所以这道题的顺序是,先test_a,test_b,i,static块,test_c。

点击查看原图

还有就是一些比较实际的问题,也是在Java附加题里。

    
在一个生产环境下,有一台Oracle数据库服务器,最大支撑7000条数据库连接。 现在有后台服务器400台,每台因为业务需要,需要10条数据库连接,服务器数量每年增加300台, 所以在现在情况下如何进行优化。

     我当时是选择使用分库分表的,然后详细阐述了下为什么和优点。暂时不知道正确答案。

    不过在淘宝的一个有关淘宝架构的PPT上,他讲到了数据库的水平分割(根据一列或多列数据的值把数据行放到两个独立的表中。)和垂直分割(把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。)。

 

还有一点收获就是,不要不懂装懂啊。。。会就是会,不会就是不会,直接写”我不会C++”(选Java的话),效果比写上一个错误答案效果好。如:

点击查看原图

被人唾弃////

其实还有很多相关概率论的题还有操作系统相关,所以,这一年我的任务就是把这些基础打好。
来年,真的会有一个好成绩。

2 Replies to “阿里笔试之行收获”

  1. Java 类的初始化顺序
    规则1:在类第一次加载的时候,将会进行静态域的初始化:
    1. 将所有的静态数据域初始化为默认值(0、false 和 null)
    2. 按照在类中定义的顺序依次执行静态初始化语句和静态初始化块
    规则2:调用构造器的具体处理步骤:
    1. 将所有的数据域初始化为默认值(0、false 和 null)
    2. 按照在类中定义的顺序依次执行初始化语句和初始化块
    3. 如果构造器调用的其他的构造器,则转而执行另一构造器
    4. 执行构造器主体
    摘自互联网

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.