菜鳥救星談程式:基礎工程師面試時,常用的技術問與答(一)

文、意如老師

一般業界公司在尋找基礎工程師時,需要透過短短的面試一小時中了解求職者的能力到哪裡,技術是否有符合崗位的需求,基礎功夫是否有到位,所以通常面試官會準備幾個小題目當作面試的筆試,這些小題目基本上都不會太難,但都是實際都是工作上很可能會碰到的問題,如果稍微有程式基礎底子的,應該都可以輕鬆作答。

所以本篇文章想跟大家分享,基礎工程師面試時需要準備哪些題目,不論您的程式語言是Python、Java、或者Php、Javascript等等,雖然語言不同,但其實工程師做的事情差不多都是一樣,考筆試時面試官也會讓您用自己習慣的程式語言解題,所以基本的技術問答也是通用的。

這邊我將分成三大方向介紹如下:
一、基本程式邏輯基礎
二、資料庫應用SQL語法
三、常見的程式應用

第一類 基本程式邏輯基礎

大多的題型是會有關 for 迴圈的應用、跟function方法的應用占大多數,例如:

1. For迴圈的應用,請寫出九九乘法表,並印出

1*1=1 …. 1*9=9
……
……
9*1=9 .… 9*9=81

以下使用python 來解題:
for x in range(1,10):
for y in range(1,10):
z=x*y
print(x,”x”,y,”=”,z)

這題的重點主要是看您對迴圈熟不熟練,畢竟大多的資料都必須使用到for 迴圈去讀出或寫入,所以基礎的For 迴圈一定要把它練好。

2. Function功能的使用。

寫一個function(功能) 、呼叫功能、了解return 是什麼,function 外的變數與 function 內變數的差別,並且充分了解全域變數。題型大概會像下列:

請寫一個功能,傳入兩個參數,加總後並回傳結果印出。

Function plusnum(a,b){
return a+b
}

plusnum(3,5)


什麼是全域變數、什麼是區域變數?

全域變數可以在函數(function)內或 函數外宣告,並可任意隨時調用,重覆名稱時則會覆蓋變數值。

而區域變數僅能夠在函數中使用變數名稱,每個函數間的區域變數重複名稱也沒關係,變數互不干擾,也無法在函數外其它的地方調用,當函數結束工作後,變數相對的也結束了。


請問以下印出的a值為多少?

以下使用php來解題:

<?php
$a = 1;
function cal() {
return $a+100;
}
$a=cal();
echo $a
?>

這題答案不會有任何的輸出,因function內的變數 $a仍屬於區域變數。

👉如果想使用function外的 $a 變數必須在function內加上 global $a;
程式碼如下: $a 值為 101
<?php
$a = 1;
function cal() {
global $a; //使用全域變數 $a=1
return $a+100; // return $a=1+100
}
$a=cal(); //呼叫 call() 方法
echo $a //印出目前的a值, a=101
?>

這個題型主要是考全域變數與區域變數間的應用,我們再往下看下一題。


請問以下印出的a值為多少?

<?php
$a = 1;
function cal($a) {
return $a;
}
$a=cal(3);
echo $a
?>

這題很單純的就是使用函數function所傳入的值當區域變數,因為區域變數不受全域變數或其他函數的變數干擾,所以return 的值就是呼叫時所傳入的參數值 3。

以上的程式是基礎中的基礎,因為工作上太常使用到,所以常常會被拿來當作面試中筆試的題目,藉由此篇文章來跟大家分享這些常態性出現題型,之後會再針對筆試中最愛考的第二種類型資料庫應用SQL語法做介紹。

加入菜鳥救星官方Line並回覆「我想看文章」,不定期獲得更多知識吧!

不同頻道,不同知識!

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料