IT General
น้องๆ หลายคนคงเคยได้ยินคำว่า "Tech Interview" กันมาบ้างแล้วใช่ไหม? มันก็คือการสัมภาษณ์งานสำหรับตำแหน่งที่เกี่ยวข้องกับเทคโนโลยีต่างๆ ไม่ว่าจะเป็นโปรแกรมเมอร์ นักพัฒนาเว็บไซต์ หรือตำแหน่งอื่นๆ ที่ต้องใช้ความรู้ด้านไอทีนั่นแหละ
สมัยผมทำร้านเน็ต SiamCafe ช่วงแรกๆ (ปี 2540 กว่าๆ) คนที่มาสมัครงานส่วนใหญ่ก็ไม่ได้จบตรงสายไอทีมาซะทีเดียว แต่พอเข้าสู่ยุคดิจิทัลเต็มตัว ความต้องการบุคลากรด้านไอทีก็สูงขึ้นมาก บริษัทต่างๆ ก็เลยต้องคัดกรองคนที่มีความรู้ความสามารถจริงๆ ผ่านการสัมภาษณ์เชิงเทคนิคที่เข้มข้นขึ้น
ทำไมมันถึงสำคัญน่ะเหรอ? ก็เพราะว่า Tech Interview เป็นตัวช่วยให้บริษัทประเมินได้ว่าน้องๆ มีความรู้ความสามารถที่จำเป็นต่อการทำงานจริงแค่ไหน ไม่ใช่แค่ดูจากใบปริญญาหรือ Resume เท่านั้น แต่ต้องดูว่าน้องๆ แก้ปัญหาเฉพาะหน้าได้ไหม มีความเข้าใจในหลักการพื้นฐานแน่นแค่ไหน และสามารถนำความรู้มาประยุกต์ใช้ได้จริงหรือเปล่า
เรื่องนี้สำคัญมากๆ น้องๆ ต้องเข้าใจโครงสร้างข้อมูลพื้นฐานต่างๆ เช่น Array, Linked List, Stack, Queue, Tree, Graph และ Algorithm พื้นฐาน เช่น Sorting, Searching และ Dynamic Programming
สมัยผมเรียนเขียนโปรแกรมใหม่ๆ อาจารย์จะเน้นเรื่องนี้มาก เพราะมันเป็นพื้นฐานสำคัญในการแก้ปัญหาต่างๆ ยกตัวอย่างเช่น ถ้าเราต้องการค้นหาข้อมูลใน Array ที่มีขนาดใหญ่ การใช้ Linear Search อาจจะช้าเกินไป เราก็ต้องเลือกใช้ Binary Search แทน ซึ่งเร็วกว่ามาก
// Example of Binary Search in JavaScript
function binarySearch(arr, target) {
let left = 0;
let right = arr.length - 1;
while (left <= right) {
const mid = Math.floor((left + right) / 2);
if (arr[mid] === target) {
return mid; // Found the target
}
if (arr[mid] < target) {
left = mid + 1; // Search in the right half
} else {
right = mid - 1; // Search in the left half
}
}
return -1; // Target not found
}
const sortedArray = [2, 5, 7, 8, 11, 12];
const targetValue = 13;
const result = binarySearch(sortedArray, targetValue);
if (result !== -1) {
console.log(`Element found at index ${result}`);
} else {
console.log("Element not found");
}
ไม่ว่าน้องๆ จะทำงานด้านไหนที่เกี่ยวข้องกับไอที โอกาสที่จะต้องเจอกับ Database มีสูงมากๆ ดังนั้นการมีความรู้พื้นฐานเกี่ยวกับ Database และ SQL เป็นสิ่งจำเป็น น้องๆ ควรจะเข้าใจหลักการของ Relational Database, SQL Query (SELECT, INSERT, UPDATE, DELETE), Join และ Index
สมัยผมทำร้านเน็ตก็ต้องใช้ Database เก็บข้อมูลลูกค้า ข้อมูลสินค้า และข้อมูลการใช้งานอินเทอร์เน็ตต่างๆ ซึ่ง SQL ก็เป็นภาษาหลักที่เราใช้ในการจัดการข้อมูลเหล่านั้น
-- Example of SQL query to select all customers from the customers table
SELECT * FROM customers;
-- Example of SQL query to insert a new customer into the customers table
INSERT INTO customers (name, email) VALUES ('John Doe', 'john.doe@example.com');
การเตรียมตัวสำหรับ Tech Interview ไม่ใช่เรื่องยาก แต่ต้องอาศัยการวางแผนและการฝึกฝนอย่างสม่ำเสมอ น้องๆ ต้องเริ่มจากการทำความเข้าใจในพื้นฐานที่จำเป็น จากนั้นก็ฝึกแก้ปัญหาต่างๆ และจำลองสถานการณ์การสัมภาษณ์จริง
ผมแนะนำให้น้องๆ เริ่มจากการศึกษาพื้นฐานจากแหล่งข้อมูลต่างๆ เช่น หนังสือ บทความออนไลน์ หรือคอร์สเรียนต่างๆ SiamCafe Blog ก็มีบทความดีๆ เกี่ยวกับเรื่องนี้อยู่บ้างเหมือนกัน ลองเข้าไปอ่านดูได้
การฝึกแก้ปัญหา Coding เป็นสิ่งสำคัญที่สุดในการเตรียมตัวสำหรับ Tech Interview น้องๆ สามารถฝึกแก้ปัญหาได้จากเว็บไซต์ต่างๆ เช่น LeetCode, HackerRank หรือ Codewars
พยายามแก้ปัญหาให้ได้หลากหลายรูปแบบ ทั้งปัญหาที่เกี่ยวกับ Data Structures, Algorithms และ Database นอกจากนี้ น้องๆ ควรจะฝึกเขียน Code ให้สะอาด อ่านง่าย และมีประสิทธิภาพ
// Example of a simple coding problem: Reverse a string
function reverseString(str) {
return str.split("").reverse().join("");
}
console.log(reverseString("hello")); // Output: olleh
การจำลองสถานการณ์การสัมภาษณ์จริงเป็นสิ่งสำคัญที่จะช่วยให้น้องๆ คุ้นเคยกับบรรยากาศการสัมภาษณ์และลดความประหม่า น้องๆ สามารถขอให้เพื่อน อาจารย์ หรือรุ่นพี่ ช่วยจำลองสถานการณ์การสัมภาษณ์ให้ได้
ระหว่างการ Mock Interview ให้น้องๆ พยายามอธิบายแนวคิดและวิธีการแก้ปัญหาของตัวเองให้ชัดเจน และรับฟัง Feedback จากผู้สัมภาษณ์เพื่อนำไปปรับปรุง
สมัยผมไปสัมภาษณ์งานที่บริษัทใหญ่ๆ เค้าจะมีรอบ Technical Interview ที่โหดมากๆ การเตรียมตัว Mock Interview จะช่วยให้เรามั่นใจมากขึ้น
ในการสัมภาษณ์งาน นอกจากความรู้ทางเทคนิคแล้ว ผู้สัมภาษณ์อาจจะถามคำถามเกี่ยวกับประสบการณ์การทำงาน ทักษะส่วนตัว หรือเป้าหมายในอนาคต น้องๆ ควรจะเตรียมคำตอบสำหรับคำถามเหล่านี้ไว้ล่วงหน้า
ลองหาข้อมูลเกี่ยวกับบริษัทที่เราสมัครงาน และทำความเข้าใจในวัฒนธรรมองค์กรของบริษัทนั้นๆ เพื่อที่เราจะสามารถตอบคำถามได้อย่างตรงจุด
นอกจากการเตรียมตัวตามที่กล่าวมาข้างต้นแล้ว ยังมีทางเลือกอื่นๆ ที่น้องๆ สามารถใช้ในการเตรียมตัวสำหรับ Tech Interview ได้ เช่น การเข้าร่วม Bootcamp, การอ่านหนังสือ หรือการปรึกษา Mentor
แต่ละทางเลือกก็มีข้อดีข้อเสียแตกต่างกันไป น้องๆ ควรจะเลือกทางเลือกที่เหมาะสมกับความต้องการและงบประมาณของตัวเอง
| ทางเลือก | ข้อดี | ข้อเสีย | ค่าใช้จ่าย |
|---|---|---|---|
| การเตรียมตัวด้วยตัวเอง | ประหยัดค่าใช้จ่าย, ยืดหยุ่น | ต้องมีวินัยสูง, ขาด Feedback | ต่ำ |
| Bootcamp | เข้มข้น, มี Mentor, ได้ Connection | ค่าใช้จ่ายสูง, อาจไม่เหมาะกับทุกคน | สูง |
| การอ่านหนังสือ | ได้ความรู้เชิงลึก, ราคาไม่แพง | ต้องใช้เวลา, ขาด Interactive | ปานกลาง |
| การปรึกษา Mentor | ได้คำแนะนำเฉพาะบุคคล, เรียนรู้จากประสบการณ์ | อาจมีค่าใช้จ่าย, หา Mentor ยาก | ปานกลาง |
น้องๆ สามารถหาข้อมูลเพิ่มเติมเกี่ยวกับ Tech Interview ได้จาก SiamCafe Blog หรือเว็บไซต์อื่นๆ ที่เกี่ยวข้อง
เอาล่ะน้องๆ มาถึงส่วนที่พี่จะแชร์จากประสบการณ์ตรงเลย สมัยพี่ทำร้านเน็ต SiamCafe พี่ต้องสัมภาษณ์เด็กมาช่วยงานเยอะมาก บางคนเก่งจริง แต่ตอบคำถามไม่ตรงประเด็นก็มี พี่เลยอยากจะบอกเคล็ดลับที่ใช้ได้จริงในการสัมภาษณ์
1. เตรียมตัวเรื่องพื้นฐานให้แน่น: อย่ามองข้ามเรื่องง่ายๆ นะน้อง สมัยพี่ทำร้านเน็ตมีเด็กคนนึงเก่งเรื่อง Network มาก แต่พอถามเรื่อง Command Line พื้นฐานดันตอบไม่ได้ซะงั้น เหมือนเก่งแต่ทฤษฎี แต่ใช้งานจริงไม่ได้
2. ฝึกตอบคำถามแบบ STAR Method: อันนี้สำคัญมาก! เวลาเค้าถามถึงประสบการณ์ที่เคยเจอ ให้ตอบแบบ Situation (สถานการณ์) Task (งานที่ได้รับมอบหมาย) Action (สิ่งที่เราทำ) Result (ผลลัพธ์) ทำให้เห็นภาพว่าเราแก้ปัญหาได้ยังไง
ตัวอย่าง: "เคยเจอเคสลูกค้าต่อ WiFi ไม่ได้ (Situation) ผมได้รับมอบหมายให้แก้ไข (Task) ผมเลยเริ่มตรวจสอบ IP Address, Gateway และ DNS Server (Action) สุดท้ายพบว่า DHCP Server มีปัญหา ผมเลยรีสตาร์ท DHCP Server ทำให้ลูกค้ากลับมาใช้งานได้ปกติ (Result)"
3. ถามคำถามกลับ: การถามคำถามกลับแสดงให้เห็นว่าเราสนใจในตำแหน่งนั้นจริงๆ ไม่ใช่แค่มาสัมภาษณ์ให้จบๆ ไป ถามเรื่องวัฒนธรรมองค์กร, เทคโนโลยีที่ใช้ หรือโอกาสในการเรียนรู้ก็ได้
4. อย่ากลัวที่จะบอกว่าไม่รู้: ไม่มีใครรู้ทุกอย่างหรอกน้อง ถ้าไม่รู้จริงๆ ให้บอกไปตรงๆ แต่บอกด้วยว่าเราจะไปหาข้อมูลเพิ่มเติมและเรียนรู้มันยังไง เช่น "ผมยังไม่มีประสบการณ์ในเรื่องนี้ แต่ผมกำลังศึกษาอยู่ และคาดว่าจะเรียนรู้ได้ภายใน 1 สัปดาห์ครับ"
iCafeForexเน้นไปที่ Project ที่เคยทำตอนเรียน, งานอดิเรกที่เกี่ยวข้องกับ IT หรือ Course ที่เคยเรียน ให้แสดงให้เห็นว่าเรามีความกระตือรือร้นที่จะเรียนรู้และพัฒนาตัวเอง
ขึ้นอยู่กับวัฒนธรรมองค์กรของแต่ละที่ แต่ส่วนใหญ่แต่งตัวสุภาพไว้ก่อนจะดีที่สุด เสื้อเชิ้ต กางเกงสแล็ค หรือกระโปรงที่ไม่สั้นจนเกินไป
อย่าเงียบ! บอกไปตรงๆ ว่าไม่รู้ แต่บอกว่าเราจะไปหาข้อมูลเพิ่มเติมและเรียนรู้มันยังไง ให้แสดงให้เห็นถึงความกระตือรือร้นที่จะเรียนรู้
ศึกษาข้อมูลเงินเดือนของตำแหน่งนั้นๆ ในตลาดก่อน แล้วตั้ง Range ที่เราต้องการ อย่าตั้งต่ำหรือสูงเกินไป
ตัวอย่าง: "จากข้อมูลที่ผมศึกษามา ตำแหน่งนี้ในตลาดน่าจะอยู่ที่ประมาณ 25,000 - 35,000 บาทครับ"
การเตรียมตัวที่ดีคือชัยชนะไปกว่าครึ่งน้องๆ ศึกษาพื้นฐานให้แน่น ฝึกตอบคำถามแบบ STAR Method ถามคำถามกลับ และอย่ากลัวที่จะบอกว่าไม่รู้ ขอให้น้องๆ ทุกคนโชคดีกับการสัมภาษณ์นะ!
SiamCafe Blog