Java岗位面试题(南京才丰软件技术开发有限公司)
生活随笔
收集整理的這篇文章主要介紹了
Java岗位面试题(南京才丰软件技术开发有限公司)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、判斷題
【分析】 對象賦值是引用傳遞;
【分析】子類可以賦值給父類;
【分析】并不是說抽象類中必須有抽象方法,即使一個類中的方法全部實現過,也可以用abstract修飾為抽象類,所以抽象類不一定都有抽象方法。
【分析】
Test2.java文件中:
class A{}
abstract class B{}
final class C{}
編譯后: A.class B.class C.class
二、簡答題
答:boolean –不確定,視編譯環境而定;byte –1字節;short– 2字節;int –4字節;long –8字節;char – 2字節;float – 4字節;double – 8字節;
答:
區別:1)int 是基本數據類型;Integer是int的封裝類; 2)類初始化時,int 初始值是0;Integer初始值是null;
使用場景:1)加減乘除運算或參數傳遞時,用int; 2)希望像對象一樣處理,使用Integer;
答:
行內樣式 : 數值1000(不是二進制);
ID選擇符:數值0100(不是二進制);
類選擇符:數值0010(不是二進制);
類型選擇符:數值0001(不是二進制);
例如,body #wrap p {…},那么它的優先級指數就是 1+100+1=102,而body div #wrap p {…}的優先級指數就是 1+ 1 +100 + 1 =103。
a. 編寫一個查詢,找出2000年以后畢業的人員;
select a.*
from 人員表 a, 學歷表 b
where a.人員編號=b.人員編號 and 畢業時間 > 2000;
b. 編寫一個SQL,更新人員表中所有人的最高學歷(最高學歷來自于學歷表);
update 人員表 a
set a.最高學歷=(select max(學歷) from 學歷表 b where a.人員編號=b.人員編號);
c. 如果人員表要做多庫合并,做為主鍵的人員編號該如何設計?
答:使用NewID()函數;
NewID()函數是從他們的網卡上的標識數字和CPU時鐘的唯一的數字生成新的UniqueIdentifier數據 ,這個數據和GUID是一樣的每臺計算機能生成全球唯一的值
這樣在多臺計算機和多網絡之間生成具有唯一性的標識符。
三、編程題
1.編寫一個JavaScript函數,利用dom知識,創建一個div節點,div中有文字發“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編程,用數組實現棧。
Stack.java
ArrayStack.java
import java.util.Arrays;public class ArrayStack<T> implements Stack<T>{private final int DEFAULT_SIZE = 5;//數組默認的容量 private int capacity;//棧的容量 private int size;//棧的大小 private int top;//指向下一個要添加的元素的位置 private Object[] array; //數組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); //把舊數組的值復制到新的數組中Arrays.fill(this.array, null); //把原來數組的值都變為空this.array = newArray;}@Overridepublic int size() {return this.size;} }四、數據庫題
1.表內容如下
要生成下列結果,該如何寫SQL語句?(自定義表,將對應的數據導入到自定義表中,然后查詢出對應的數據)
該題主要是考臨時表的使用,數據的導入及查詢語句與group by的使用。
2.表Template中有A、B、C三列,用SQL語句實現,當列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的值,他們的關聯字段為id; 這道題主要是考update的使用。
sql update temp1, temp2 set temp1 .t1 = temp2.t2 where temp1.id = temp2.id;4.將人員表中A01中參加工作時間A0141小于等于“1987-10-30”的數據刪除;這道題主要是考delete語句的使用。
sql delete from A01 where A0141 <= ‘1987-10-30’;5.字符串“abcd123”,分別取出該字符串前四個字符,右邊三個字符。這道題主要考取部分字符串的函數使用。
sql #取前四個字符 select left('abcd123', 4) as a; #取右邊四個字符 select right('abcd123', 3) as b;總結
以上是生活随笔為你收集整理的Java岗位面试题(南京才丰软件技术开发有限公司)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 死锁的概念以及发生死锁的缘由
- 下一篇: 单片机毕业设计 智能MP3音乐播放器设计