1. 程式人生 > >浦發銀行校園招聘資訊科技崗(系統開發方向)面試小結

浦發銀行校園招聘資訊科技崗(系統開發方向)面試小結

今天主要就參加浦發銀行資訊科技崗的心路歷程做一小結。2018.8.1日,是我第一次面試(提前批崗位),通知的是讓8月1號中午12點半面試,我提前1個半小時到了通知上的指定地點,根據身份證簽到,簽到後會發給你一張名牌紙(以後的每場考試隨身帶,放在自己的桌子前展示給面試官),今天人比較多,到了12點了上午場的還沒有面試完,HR小姐姐告訴我們,先去吃飯,面試過程比較長,下午場的可能得忙到晚上6、7點了。所以我和同伴就就近吃了飯,吃完飯還早,我們就四處逛了逛,講真浦發銀行夏天的冷氣給的超級足,凍得我雞皮疙瘩起了一地,辦公環境也超級棒,很嚮往在這種地方工作!

面試總共分為三面,一面是群面,二面是專業面試,三面是機試

,由於應聘者多,所以三面不分前後順序。等到兩點左右,終於叫到我的名字了,我進行的順序是一面、二面、三面。

一面是群面,三個面試官對應6個應聘者,按照hr小姐姐發的號碼牌依次進去之後面對面試官坐下,每人抽一個題目兩分鐘準備,三分鐘發言(不分先後順序,誰準備好了就可以舉手發言),待每個人發言完畢。有兩個面試官分別問了兩個問題“你覺著你人生中的制高點在什麼地方,是什麼?”和“你認為浦發銀行能陪伴你多久,你能在浦發銀行工作多長時間?”,第一個問題只有三個人回答就被迅速轉到第二個問題了,第二個問題按順序每人都要回答,此場面試大該半個小時左右。

二面是專業面試,三個面試官對應1個應聘者,進場之後首先第一個做的就是自我介紹

,我只是說了本科和研究生所上學校,所學專業,面試官還想聽更多的自我介紹,可是我準備不充分,草草收場,所以提前要準備一份漂亮的自我介紹吸引面試官眼球(很重要)。接下來面試官主要針對簡歷裡面寫的專案進行了解,提問,我噼裡啪啦將自己的專案講述了一遍,但是這次應聘的是系統開發崗,從面試官的眼神中我能讀到,他們對這些並不是特別的感興趣!對於專案哪一部分是你自己獨立完成的,這點面試官是十分在意。我的方向是影象,所以,面試官問了一個問題“.jpg和.bmp圖片有什麼區別?也就是說在編碼上有什麼區別?”,接下來接二連三問了好多問題“MFC中你主要實現哪些操作?"除了MFC可以做介面,還有哪些呢?"對資料庫有所瞭解嗎?如何對資料進行選取,查詢操作?
”、“瞭解linux嗎?Linux查詢、開啟一個檔案用的是什麼命令?”、“會JAVA嗎?看你有過實習經歷,講一講”、“聽過ftp嗎?耳熟嗎?”、“c++中的過載函式說一下?”、“連結串列中定義一個類,類中的成員變數呼叫到函式中是什麼?”、“行業動態,你是從哪些渠道獲得的?”,我們組的面試的專業性比較強,其他組面三個人,我們組可能才會面試兩個人。下來之後和我的小夥伴們進行交流,他們的面試官問了如下問題“**,你會不會?”“**,你學的好不好?”,“**,這些課的成績怎麼樣?”,“你說你英語不錯,那麼現場來一段即興英語演講?”、“你閱讀英文能力怎麼樣,以後可以和外國人進行溝通,撰寫文件嗎?”,整個下來感覺專業面最緊張,也是最難的,你的能力全在這個時候展現,是騾子是馬,拉出來一溜就知道了,什麼都逃不過面試官的眼睛,所以還是得多學點東西,否則真麼會被問到尷尬。。。感覺時間很短,出來之後同學跟我說,我進去了15分鐘。還有就是,對手太強大了,我前面的,後面的都是211、985的研究生,亞歷山大啊!

三面試機試,進入考場後會有指定的電腦,你坐下之後,瀏覽提前閱讀資訊,開始作答。頁面只支援c、c++、Java,所以會python,還有其他語言的小夥伴們很著急。因此,如果要搞研發的話,C++、Java還是很重要!我的機試題目是三道程式設計題,分別是“判斷一個數是不是素數?”、“判斷從1990到2010年中的瑞年?並列印”、“輸入幾個單詞,將字母變換成另外一組單詞輸出?如果字母是i,則變換後的字母是26+i-1”。每個題目中的條件都已經給定,什麼樣子的數是素數,什麼樣子的年是閏年都會給出,接來來就看你的程式設計能力了,此項答題時間為1個小時。

以下對面試過程中遇到的問題進行梳理。

專業知識點總結

1.jpg和.bmp圖片有什麼區別?

JPG:採用高壓縮比技術的影象儲存格式。有失真壓縮格式,所以在你對一張JPEG格式的圖片反覆進行修改儲存時,則會讓圖片失真,品質下降。優點(檔案小,利於網路傳輸),缺點(畫質損失)。

BMP:(全稱Bitmap)是Windows作業系統中的標準影象檔案格式,它採用位對映儲存格式,除了影象深度可選以外,不支援檔案壓縮,因此,BMP檔案所佔用的空間很大。BMP檔案的影象深度可選lbit、4bit、8bit及24bit。優點(無失真壓縮,圖質最好),缺點(檔案太大,不利於網路傳輸)。

2.MFC的操作?

MFC是微軟基礎類庫(Microsoft Foundation Classes),以C++類的形式封裝了Windows API,並且包含一個應用程式框架,其中包含大量Windows控制代碼封裝類和很多Windows的內建控制元件和元件的封裝類。

個人用MFC ,主要是通過其做出來一個介面。首先,建立一個專案,然後設定opencv的環境變數,測試執行結果,成功後會彈出一個對話方塊控制元件。我需要做的就是在對話方塊控制元件上新增按鈕Button控制元件和Edit Control控制元件,右鍵控制元件設定其屬性,主要設定控制元件ID;然後雙擊控制元件到制定程式碼編輯處進行程式碼操作,操作完成將圖片顯示到對應ID的按鈕中。

3. 除了MFC,還有那些可以做介面?

QT、wxWidgets、WPF、GTK+

4. Linux的一些基本命令操作?

cd:用於切換當前目錄
ls:檢視檔案與目錄的命令
grep:文字搜尋
find:查詢
mkdir:建立指定的名稱或目錄
cp:複製檔案
mv:移動檔案、目錄或更名
rm:刪除檔案或目錄
ps:列出系統中當前執行的命令
kill:終止指定的程序
tar:對檔案進行打包
gzip和bzip:進行壓縮和解壓
chomd:改變檔案的許可權
chown:改變某個檔案的擁有者和群組
tail:查閱正在改變的額日誌檔案
pid:檢視程序
vi:建立一個檔案,並編輯檔案內容
history:顯示歷史命令
su-root:將普通使用者改成root使用者
df-lh:檢視磁碟狀態,可知道一共多大,使用了多少,剩餘了多少以及掛載點
df-a:全部檔案系統使用情況
df-h:統計每個磁碟整體情況
kill-l:列出所有訊號名稱
kill-9:徹底殺死程序
kill-u:殺死指定使用者的程序
du-ah:檢視檔案大小
job-l:檢視後臺任務
compgen-c:可以打印出所有支援的命令列表
repquota:能夠顯示出一個檔案系統的配額資訊
whatis:檢視某一命令的用法簡要
disown-r:可以將搜優正在執行的程序移除
netstat:檢視網路是否聯通
ifconfig:檢視ip地址及介面資訊
wc-c:對檔案的內容進行統計,統計位元組數
wc-l:統計行數
wc-w:統計字數

5. 資料庫的一些基本操作?

(1)建立資料庫

create database 資料庫名;

(2)檢視資料庫

show databases;

(3)選擇指定的資料庫

use 資料庫名;

(4)刪除資料庫

drop database 資料庫名;

(5)建立表

create table 表名 (欄位名 欄位型別 該列是否允許為空)

建立完成後自動會建立三個表名:“表名.frm”,“表名.MYD”,“表名.MYI”

(6)檢視資料庫中所有的表

show tables;

(7)檢視資料表結構

describe 表名;

(8)修改資料表結構

alter table 表名

  add [column] create_definition [first | after column_name]  //新增新欄位

  add primary key (index_col_name,...)  //新增主碼名稱

  alter [column] col_name {set default literal |rop default}  //修改欄位名稱

  change [column] old_col_name create_definition  //修改欄位名及型別

  modify [column] create_definition  //修改欄位型別

  drop [column] col_name  //刪除欄位

  drop primary key  //刪除主碼

  rename [as] new_tablename  //更改表名

(9)刪除指定資料表

drop table 表名;

(10)新增表資料

語法1:insert into 表名 values(值1,值2,...)(自增長的列應寫null)

語法2:insert into 表名(欄位1,欄位2,...) values (值1,值2,...)

語法3:insert into 表名 set 欄位1=值1,欄位2=值2,...

(11)更新表資料

update 表名 set 欄位1=值1 where 查詢條件

若無查詢條件,表中所有資料行都會被修改。

(12)刪除表資料

delete from 表名 where 查詢條件

(13)查詢表資料

select * from 表名;

(14)限制查詢記錄

select * from 表名 limit[start] length

start:表示從第幾行記錄開始輸出,0表示第1行

6. Java的一些瞭解?

Java是一門面向物件的程式語言,從C++衍生出來的,摒棄了c++中難以理解的多繼承、指標等概念。單看語言,兩種語言的語法上相類似,功能上也彼此接近,但是執行與處理機制完全不同,java的應用在高層,離不開邏輯業務,而c++在中間和底層,可以離開邏輯業務,為java服務。

解釋對編譯:Java是一種解釋性語言,意味著它在執行的時候會被“翻譯”JVM成二進位制形式,c++是編譯性語言,一步到位成機器語言。

記憶體安全:java會給定陣列分配任意引數,即使超出範圍也只會返回錯誤提示,而c++會引起錯誤,甚至是奔潰。

指標:java不支援指標,可以使用值引用的方式進行值傳遞,而c++中指標允許直接在記憶體中進行管理。

過載:java允許方法過載,而c++允許運算子過載。

垃圾回收機制:java自動回收,而c++用解構函式回收垃圾。

語言的區別:

(1)java只能單繼承,即一個類只能由一個父類繼承,而c++可以多繼承,一個類有多個父類。

(2)java中運算子都用運算子“.”,而C++中的域運算子用“::”,指標運算用“->”;。

(3)java中採用關鍵字“import”以包的形式匯入,檔案層級之間採用符號“.”隔開,C++中包含檔案採用預處理命令“#include”,檔案層級之間用符號“\”隔開。

(4)java的程式程式碼是在包package裡面,而C++中所有的程式程式碼都在一個“*.h”或者“*.cpp”檔案裡面。

(5)java中宣告常量的關鍵字是“final”,而java中宣告常量的關鍵字是“final”。

7. C++過載函式?

c++允許我們在引數列表不同(個數、型別或者順序不同)的情況下定義相同名字的函式。在函式呼叫的時候,根據函式名字以及引數型別決定呼叫的具體函式。優點,減少了函式明的數量,避免了名字造成的空間汙染,增加了程式的可讀性。

8. 什麼是C++類,類中成員變數被函式呼叫後叫什麼?

類的定義:

class 類名
{

public:

//行為或屬性 

protected:

//行為或屬性

private:

//行為或屬性

};

如果你定義了一個類,這個類中有一個成員變數叫a,函式呼叫這個變數的時候,呼叫的是類物件的指標this->a。

 9. 什麼是ftp?

ftp(file transfer protocol)檔案傳輸協議,用於internet上的控制檔案的雙向傳輸。同時,它也是一個應用程式(Application)。在FTP的使用當中,使用者經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"檔案就是從遠端主機拷貝檔案至自己的計算機上;"上傳"檔案就是將檔案從自己的計算機中拷貝至遠端主機上。

10. 行業前沿動態,獲取渠道?

CSDN、知乎、小木蟲、github、專知、一些微信公眾平臺、微博和百度貼吧等。

11.三道程式設計題

(1)判斷素數

#include <iostream>
using namespace std;
int issushu(int n)
{
	int i = n;
	if (i < 2)
		return 0;
	else
	{
		for (i = n - 1; i >= 2; i--)
		{
			if (n%i == 0)
			return 0;
		}
	}
	return 1;
}
int main()
{
	int n;
	cin >> n;
	if (issushu(n))
		cout << "true" << endl;
	else
		cout << "false" << endl;
	return 0;
}

(2)判斷閏年

#include <iostream>
using namespace std;
int main()
{
	//輸出從1990年到2010年之間的閏年
	for (int i = 1990; i <= 2010; i++)
	{
		if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
		{
			cout << i << endl;
		}
	}
	return 0;
}

(3)字元轉換

當時編寫時候,輸入語句沒有用好,還有等號沒有考慮到,導致出錯。

#include <iostream>
using namespace std;
int main()
{
	char a[100]; int n = 0;
	cin.getline(a, 100);
	while (a[n] != 0)
	{
		n++;
	}
	for (int i = 0; i < n; i++)
	{
		if (a[i] >= 'a'&&a[i] <= 'z')
		{
			a[i] = 'z' - (a[i] - 'a');
		}
		if (a[i] >= 'A'&&a[i] <= 'Z')
		{
			a[i] = 'Z' - (a[i] - 'A');
		}
	}
	for (int i = 0; i < n; i++)
	{
		cout << a[i];
	}
	cout << endl;
	return 0;
}

程式設計題,當有多道的時候,注意時間的分配,抓住分數很重要,考慮問題要周到,思路清晰,考慮好了之後再動手寫。

經驗總結

此次面試可能大半是涼涼了,明白了一些事情。我們在面試某個公司前,需要對公司有所瞭解,最好能舉例說出公司最近發生的事情,那樣的話公司會覺著你一直在關注動態,求職意願強烈,公司的培養人才理念,公司的發展戰略以及你覺著你為什麼能夠比別人更加勝任這份工作等。專業知識方面,根據你所應聘的崗位,在應聘前需要有明確的定位,此崗位需要怎樣的人才,你的專業技能是否符合公司想要找的,知識是否紮實(打好基礎很重要)!