Java岗位面试题(南京才丰软件技术开发有限公司)
一、判斷題
【分析】 對象賦值是引用傳遞;
【分析】子類可以賦值給父類;
【分析】并不是說抽象類中必須有抽象方法,即使一個類中的方法全部實現(xiàn)過,也可以用abstract修飾為抽象類,所以抽象類不一定都有抽象方法。
【分析】
Test2.java文件中:
class A{}
abstract class B{}
final class C{}
編譯后: A.class B.class C.class
二、簡答題
答:boolean –不確定,視編譯環(huán)境而定;byte –1字節(jié);short– 2字節(jié);int –4字節(jié);long –8字節(jié);char – 2字節(jié);float – 4字節(jié);double – 8字節(jié);
答:
區(qū)別:1)int 是基本數(shù)據(jù)類型;Integer是int的封裝類; 2)類初始化時,int 初始值是0;Integer初始值是null;
使用場景:1)加減乘除運算或參數(shù)傳遞時,用int; 2)希望像對象一樣處理,使用Integer;
答:
行內(nèi)樣式 : 數(shù)值1000(不是二進制);
ID選擇符:數(shù)值0100(不是二進制);
類選擇符:數(shù)值0010(不是二進制);
類型選擇符:數(shù)值0001(不是二進制);
例如,body #wrap p {…},那么它的優(yōu)先級指數(shù)就是 1+100+1=102,而body div #wrap p {…}的優(yōu)先級指數(shù)就是 1+ 1 +100 + 1 =103。
a. 編寫一個查詢,找出2000年以后畢業(yè)的人員;
select a.*
from 人員表 a, 學歷表 b
where a.人員編號=b.人員編號 and 畢業(yè)時間 > 2000;
b. 編寫一個SQL,更新人員表中所有人的最高學歷(最高學歷來自于學歷表);
update 人員表 a
set a.最高學歷=(select max(學歷) from 學歷表 b where a.人員編號=b.人員編號);
c. 如果人員表要做多庫合并,做為主鍵的人員編號該如何設計?
答:使用NewID()函數(shù);
NewID()函數(shù)是從他們的網(wǎng)卡上的標識數(shù)字和CPU時鐘的唯一的數(shù)字生成新的UniqueIdentifier數(shù)據(jù) ,這個數(shù)據(jù)和GUID是一樣的每臺計算機能生成全球唯一的值
這樣在多臺計算機和多網(wǎng)絡之間生成具有唯一性的標識符。
三、編程題
1.編寫一個JavaScript函數(shù),利用dom知識,創(chuàng)建一個div節(jié)點,div中有文字發(fā)“Hello World”,且div邊框顏色為黑色,文字“hello world”字體顏色為紅色。
<script type="text/javascript">var oDiv=document.createElement('div');oDiv.innerHTML="Hello World";//設置顏色oDiv.style.color="red";oDiv.style.border="#aaaaaa 1px solid";document.body.appendChild(oDiv); </script>2.Java編程,用數(shù)組實現(xiàn)棧。
Stack.java
ArrayStack.java
import java.util.Arrays;public class ArrayStack<T> implements Stack<T>{private final int DEFAULT_SIZE = 5;//數(shù)組默認的容量 private int capacity;//棧的容量 private int size;//棧的大小 private int top;//指向下一個要添加的元素的位置 private Object[] array; //數(shù)組public ArrayStack(){this.capacity = DEFAULT_SIZE;this.array = new Object[this.capacity];this.size = 0;}public ArrayStack(int capacity){this.capacity = capacity;this.array = new Object[this.capacity];this.size = 0;}@Overridepublic void clear() {Arrays.fill(this.array, null);this.size = 0;this.top = 0;this.capacity = DEFAULT_SIZE;this.array = new Object[capacity];}@Overridepublic boolean isEmpty() {return size == 0;}@Overridepublic T peek() {if(isEmpty())return null;return (T)this.array[this.top - 1];}@Overridepublic T pop() {T element = (T)this.array[top - 1];array[top - 1] = null;this.top = this.top - 1;this.size--;return element;}@Overridepublic void push(T element) {if(this.size < this.capacity){this.array[top] = element;this.size++;this.top++;}else{ //若棧的容量不夠則擴充棧的容量addStackCapacity();push(element);}}private void addStackCapacity() {this.capacity = this.capacity + DEFAULT_SIZE; //默認增加的幅度為5Object[] newArray = new Object[this.capacity];System.arraycopy(this.array, 0, newArray, 0, this.array.length); //把舊數(shù)組的值復制到新的數(shù)組中Arrays.fill(this.array, null); //把原來數(shù)組的值都變?yōu)榭?/span>this.array = newArray;}@Overridepublic int size() {return this.size;} }四、數(shù)據(jù)庫題
1.表內(nèi)容如下
要生成下列結(jié)果,該如何寫SQL語句?(自定義表,將對應的數(shù)據(jù)導入到自定義表中,然后查詢出對應的數(shù)據(jù))
該題主要是考臨時表的使用,數(shù)據(jù)的導入及查詢語句與group by的使用。
2.表Template中有A、B、C三列,用SQL語句實現(xiàn),當列A大于列B時選擇A列否則選擇B列,當列B大于列C時選擇B列否則選擇C列。 這道題主要是考 case when的使用。
sql select Case when t.A > t.B then t.AElse t.B End Case when t.B > t.C then t.BElse t.CEnd from Template t;3.將表temp1中t1字段的值更新為temp2中t2的值,他們的關聯(lián)字段為id; 這道題主要是考update的使用。
sql update temp1, temp2 set temp1 .t1 = temp2.t2 where temp1.id = temp2.id;4.將人員表中A01中參加工作時間A0141小于等于“1987-10-30”的數(shù)據(jù)刪除;這道題主要是考delete語句的使用。
sql delete from A01 where A0141 <= ‘1987-10-30’;5.字符串“abcd123”,分別取出該字符串前四個字符,右邊三個字符。這道題主要考取部分字符串的函數(shù)使用。
sql #取前四個字符 select left('abcd123', 4) as a; #取右邊四個字符 select right('abcd123', 3) as b;總結(jié)
以上是生活随笔為你收集整理的Java岗位面试题(南京才丰软件技术开发有限公司)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 死锁的概念以及发生死锁的缘由
- 下一篇: Java中常见的对象类型简述(DO、BO