博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试题目之一
阅读量:4052 次
发布时间:2019-05-25

本文共 2008 字,大约阅读时间需要 6 分钟。

(1) software life cycle : 按照个人理解应该是“软件生命周期”, 暂且由此分析。

她分为六个阶段:

1) 问题的定义及规划

2) 需求分析

3) 软件设计

4) 程序编码

5) 软件测试

6) 运行维护

 

(2) 在下列表格内, age 和Fa字段的值有很多重复的,

Table Ez{

     Id    int pK,

     Age int,

     Fa   number(8,2)

};

1) 写一个SQL语句,把所有重复的Fa找出来

MySQL方法:

Select fa From Ez group by fa having (count(*))>1

Oracel 方法之一:

select  rowid,name  ,sex from  student

where  student.rowid not  in (  

  select  max (t1.rowid)  from  student t1 group  by  t1.name ,t1.sex  );

2)写个SQL语句,把所有重复的Fa中年龄不是最小的记录删除。比如Fa是200的当中,年龄最小的是20,那么就保留一个age为20的,其他的都要删除。

MySQL方法:

select * from Eg a where exists (select * from Eg b where a.sex = b.sex and a.age > b.age)

 

(3)计算下面的结果

int y = 10 ;

        do{
            y-- ;
        }while(--y);
        printf("%d/n",y--);

 

(4) JAVA内存分配 有几种类型

存储分配:

1 寄存器 (Registers)。这是速度最快的场所,因为寄存器委员处理器的内部,这一点和其他种类的存储媒介都不一样。不过,由于 寄存器格式有限所以编译器会根据本身需求适当的分配寄存器来使用。作为一个程序员,你不仅无法直接碰触暂存器,也没办法在程序里头感觉到寄存器的任何存在 迹象。
2 Stack (栈),位于一般的RAM中。处理器经由其指针提供直接支持。档程序分配一块新的内存时,stack指,针便往后移;释放内存 时,指针则往前移回。这种方式不仅很快,效率也高,速度仅次于寄存器。由于java编译器有责任产生“将指针前后移动”的程序代码,所以他必须能够完全掌 握他所编译的程序中“存在stack里头的所有数据的实际大小和存活时间”。突刺以来便会先知程序的弹性。由于这个限制,尽管我们可以将对象的 reference存储于stack内,但却不能将一般的java对象也置于其上。
3 Heap (堆)。heap是一种通用性质的内存储空间(也存 在于RAM),用来置放所以java对象。heap胜过stack之处在于编译器不需知道究竟得从Heap中分配多少空间,也不知道需从heap上分配的 空间能存活董酒。因此,自heap中分配存储空间可以获得高度的弹性。每当你需要产生对象,只需在程序代码中使用new,那么当他执行的时候,便会自 heap分配空间。当然,你得为这样的弹性付出代价:从heap分配空间,比从stack分配所耗费的时间多了不少。
4 静态存储空间 。静态存储空 间存放着“程序执行期间”一直存在的数据。你可以使用关键字static,将某个对象内的特定成员设为静态,但java对象本身绝无可能置于静态存储空间 中。
5常量存储空间。常量值常常会被直接置于程序代码里头。因为常量是不会改变的,所以是安全的。有时候常量会和外界隔离开来,所以也可以放到 ROM中。
6 non-RAM存储空间 。如果数据完全存活于程序之外,那么即使程序不执行,数据也能偶继续存在,脱离程序的控制。streamed objects和persistent object便是两个主要例子。在streamed objects形式中,对象被转换为一连串的bytes。这些bytes通常用来传输到另一部机器。在persistent object形式中,对象被存储于磁盘,所以即使程序结束了,这些对象的状态还能够继续保有。此类存储空间的特点在于,它们能够将对象转换为可存储于其他 媒介的形式,并在必要时将所存储的数据还原成可存储于RAM的一半对象。

 

(5) JAVA的线程实现有几种方式

1) 继承Thread类

2) 实现 Runnable接口

 

(6) GC是什么, 描述下有几种算法实现方式

Garbage Collection: 垃圾回收机制

 

(7) Override和Overload之间的区别

override是覆写 : 对应于 OO 编程的继承特性 ,意思就是在子类中重写父类中的方法;   

overload是重载 : 对应于 OO 编程的多态特性 ,意思就是在同一个类中同样名称的多个方法, 这多个方法之间的区别在他 们的参数列不同。

 

待续...

 

转载地址:http://mrcci.baihongyu.com/

你可能感兴趣的文章
yuv to rgb 转换失败呀。天呀。谁来帮帮我呀。
查看>>
yuv420 format
查看>>
yuv420 还原为RGB图像
查看>>
LED恒流驱动芯片
查看>>
驱动TFT要SDRAM做为显示缓存
查看>>
使用file查看可执行文件的平台性,x86 or arm ?
查看>>
qt5 everywhere 编译summary
查看>>
qt 创建异形窗体
查看>>
简单Linux C线程池
查看>>
内存池
查看>>
输入设备节点自动生成
查看>>
GNU hello代码分析
查看>>
Qt继电器控制板代码
查看>>
wpa_supplicant控制脚本
查看>>
gstreamer相关工具集合
查看>>
RS232 四入四出模块控制代码
查看>>
linux 驱动开发 头文件
查看>>
container_of()传入结构体中的成员,返回该结构体的首地址
查看>>
ipconfig,ifconfig,iwconfig
查看>>
opensuse12.2 PL2303 minicom
查看>>