昨天在一個qq群里發出求職通知,問有沒有公司招人的,然后一位叫"牛哥"的說他們公司招人,聊了一會然后說讓我過去面試,第二天我就去面試了。
吸取昨天遲到的教訓,這次我早早的就到了公司,說是十點開始,我九點二十就到了。
7點半起床,洗漱好出門,走到了地鐵生命科學園站,我滴個神啊,人真多,我排在了隊伍后面,一會來了一趟車,沒擠上去,剩下四個(包括我),繼續等下班車,地鐵昌平線那是叫一個少啊,十分鐘一趟,人那么多,車竟然還那么少,這領導是不是眼X了。。哦忘了,領導都是不做地鐵的,都是開夲池,鮑馬的,他哪能體會咱老百姓的苦啊!
到了公司先登記,然后做一份筆試題還包括填寫應聘信息。
大概就包括兩部分java基礎知識和oracle部分
下面是部分筆試題:
一:什么是多線程?為什么要用多線程?與多進程的區別是什么?
答:線程是程序中一個單一的順序控制流程.在單個程序中同時運行多個線程完成不同的工作,稱為多線程.?
使用線程可以把占據長時間的程序中的任務放到后臺去處理?
用戶界面可以更加吸引人,這樣比如用戶點擊了一個按鈕去觸發某些事件的處理,可以彈出一個進度條來顯示處理的進度?
程序的運行速度可能加快
線程和進程的區別在于,子進程和父進程有不同的代碼和數據空間,而多個線程則共享數據空間,
每個線程有自己的執行堆棧和程序計數器為其執行上下文.多線程主要是為了節約CPU時間,
發揮利用,根據具體情況而定. 線程的運行中需要使用計算機的內存資源和CPU。?(還是網上的回答比較好,筆試的時候要是能帶本本就好了)
二:java集合類型主要有哪三種?列舉出5個集合類、
我的回答是:List Set Map ArrayList LinkedList HashSet HashMap HashTable
三:寫一個JDBC程序連接oracle,并打印結果集。
這題目很簡單,如何徒手寫在卷面上還要保持工整整潔的話,估計就很難了,反正我寫的亂七八糟,
估計面試官要頭疼一會了,知道怎么寫,就是很難看而已,下面貼出在工具里寫好的代碼。。
~~~
import java.sql.*;
public class Test {
public static void main(String[] args) {
try {
Class.forName("oracle...."); // 注冊驅動省略
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
try {
con = DriverManager.getConnection("...", "...", "..."); // url,user,password省略
pst = con.prepareStatement("select * from table where uid = ?");
pst.setInt(1, 100);
rs = pst.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt(1)); // 打印數據
System.out.println(rs.getString(2));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
while (rs != null) { // 關閉連接資源
try {
rs.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
// pst con 關閉同上
}
}
}
~~~
四:面向對象的特征有哪些?他們在使用過程中的優勢是什么?
(1)對象唯一性。 (2)抽象性。 (3)繼承性。(4)多態性(多形性)
使用面向對象思想進行開發有以下優點:
1、易維護
采用面向對象思想設計的結構,可讀性高,由于繼承的存在,即使改變需求,那么維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。
2、質量高
在設計時,可重用現有的,在以前的項目的領域中已被測試過的類使系統滿足業務需求并具有較高的質量。
3、效率高
在軟件開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近于日常生活和自然的思考方式,勢必提高軟件開發的效率和質量。
4、易擴展
由于繼承、封裝、多態的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴展,而且成本較低。 ??
(人家都說別人家的老婆好,發現其實別人的答案也挺好的)
五:概述MVC體系結構 為什么要用MVC結構?
這個問題我看過很多遍,怎么一寫到紙上就寫的不那么完美呢?
MVC模式是"Model-View-Controller"的縮寫 中文翻譯為模式視圖控制器
Wiew通常是JSP,即頁面顯示部分。Controller通常是Servlet 即頁面顯示的邏輯部分實現
Model通常用服務端的javaBean或者EJB實現 即業務邏輯部分的實現
優點:低耦合性 高重用性和可適用性 較低的生命周期成本 可維護性 有利于團隊開發
六:請給出任意一程序設計樣式示例。
這問題我沒看明白是什么意思,沒寫出來
簡單題和基礎題就以上這些。。。
下面就是一些oracle問題了。
GOODS(貨品表)
GOODSID(主鍵) GOODSNAME MEMO
1 青霉素
2 西瓜霜
3 創可貼
4 西洋參
SU(進貨表)
GOODSID(主鍵) SUQTY
1 60
2 70
SA(銷售表)
GOODSID(主鍵) SAQTY
2 80
3 90
問題一:進貨記錄,給出SQL達到如下效果
GOODSID GOODSNAME SUQTY
1 青霉素 60
2 西瓜霜 70
3 創可貼 0??
4 西洋參 0
問題二:進銷對比,給出SQL達到如下效果
GOODSID GOODSNAME SUQTY SAQTY
1 青霉素 60 0
2 西瓜霜 70 80
3 創可貼 0 90 ??
(有會的請留下答案)
------------------------------------------------
sql優化問題
select * from sa where sa.GOODSID not in(select goods.GOODSID from goods);
1,對上述語句進行優化
2,闡述對于SQL語句你是如何判斷其性能的 并說明在出現性能問題時如何處理?
--------------------------------------------------
數據并發問題
業務場景:存在一下表,狀態為1的允許刪除,狀態為2的不允許刪除
SALSTID(主鍵) GOODSID GOODSQTY USESTATUS
1 78 60 1
2 89 70 2
3 33 80 2
要求:在考慮并發的情況下,給出上述刪除行處理的偽代碼。
-----------------------------------------------------
以上就是部分筆試題,oracle部分有點難度(也不是難,而是我不會)
交卷之后接下來直接就面試了。。。
過來一男的,也不知道是不是昨天聊天的那位"牛哥",忘了問了,人挺好的。
面試問到的有:如何理解面向對象。如何理解String這個類,和StringBuffer StringBuilder的區別(說實話,還真沒好好理解過這個String類)。
項目中常用到的一些接口List Set等,ArrayList LinkedList Vector的區別,還有一些原理性的問題 比如是如何存取的(這一般是筆試中常見的題)
大概就記得這些了,其他的都是一些題外話了,比如你對我們公司業務的理解(公司是做ERP的),未來的職業規劃,能否承受較大壓力,能否適應出錯.
技術面之后,是人事面,問了很多東西,其中問到了我的傷心處 (為什么從上兩家公司辭職),這里就不多說了,嗚嗚.....
最后說一到三個工作日我們給你答復(可能性很小).
不求能否成功,只求每次面試都有所收獲,一步一步來,總會通向成功的彼岸.
- 前言
- 那些年,我們一起找過的工作
- 1——山東藍鳥貴薪的面試經歷
- 2——面試求職帖:瑾對自己負責
- 3——來北京找工作有感
- 4——出師不利
- 5——再接再厲
- 6——程序員之路
- 7——1天面試4次的有木有
- 8——最近的六次面試
- 9——找工作之路
- 10——阿里巴巴面試經歷
- 11——我的第一份實習工作
- 12——給找工作的應屆生一些建議
- 13——ASP.NET面試經歷分享(最終版)
- 14——我的求職經歷(完結篇)
- 15——心態決定成敗
- 16——機會是自己給的
- 17——在廣州闖蕩的經歷,不斷去追求自己的夢想!
- 18——話說我的面試經歷
- 19——淡定的面試
- 20——最近5次面試經歷的總結
- 21——這段時間的幾個面試
- 22——步入實習道路的第二次面試
- 23——畢業后第一次遠走他鄉的憧憬
- 24——低調著吹牛
- 25——正在實習,剛剛經過洗禮的應屆生
- 26——真實的“面試”經歷
- 27——java程序員求職總結