Interview Preparation ( Problem Solver to Software Engineer )
বিসমিল্লাহির রহমানির রাহিম,
প্রায় সময় অনেকেই একটা প্রশ্ন করে কিভাবে Coding Test বা Interview এর জন্য প্রিপারেশন নেওয়া যেতে পারে । আগেই বলে নেওয়া ভালো যে বিভিন্ন কোম্পানির Recruitment Process আলাদা আলাদা হয়ে থাকে । Recruitment Process নিয়ে আমাদের আগের একটা নোট লিখা আছে চাইলে সেটা একবার দেখে আসতে পারেন। [link : shorturl.at/huEW4]
এই নোটে আমি শুধুমাত্র আমাদের দেশের বিভিন্ন কোম্পানির Coding Test এবং Interview ধাপে পাশ করতে কেমন প্রিপারেশন নেওয়া যায় বা কি কি টপিক্স কভার করা যেতে পারে তা নিয়ে লিখবো ।
যেহেতু আমার অভিজ্ঞতা খুবই অল্প তাই ভুল-ভ্রান্তি হলে ক্ষমা করবেন
Coding Test : আমাদের দেশের যে যে কোম্পানি গুলো কোডিং টেষ্টের মাধ্যমে Recruitment করে থাকে তাদের প্রায় সবাই কাছাকাছি লেভেলের প্রবলেম সল্ভ করতে দিয়ে থাকে । আপনি যদি ভার্সিটিতে Problem Solving বা ACM করে থাকেন তাহলে আপনার জন্য এই ধাপটি অতিক্রম করতে খুব বেশী বেগ পেতে হবে না। তাই বলে এমন নয় যে আপনি Problem Solver না হলে এই ধাপটি অতিক্রম করতে পারবেন না বা খুবই কষ্টসাধ্য হবে । আমার পরিচিত অনেকেই আছেন যারা কিনা ACM করেনি কিংবা Problem Solver ছিলেন না ।
যেভাবে প্রিপারেশন নেওয়া যেতে পারেঃ কিছু কোম্পানি আছে যেখানে আপনাকে কোনো ধরনের Library Function ইউজ করতে দিবে না । আবার এমন কিছু কোম্পানি আছে যেখানে আপনাকে Library Function ইউজ করতে দিবে । তাই আমি প্রিপারেশন নেওয়ার সময় Library Function ব্যাবহার না করেই প্রিপারেশন নিতে বলবো ।
প্রিপারশন সময়কালে আপনি বিভিন্ন অনলাইন জাজে প্রবলেম সল্ভ করতে পারেন । সেক্ষেত্রে leetcode.com এবং interviewbit.com বেশ ভালো চয়েজ বলে আমি মনে করি। এখানে দেশী-বিদেশী বিভিন্ন কোম্পানিতে আসা প্রবলেমও থাকে । এবং একটা ধারনাও হয়ে যায় প্রবলেম কেমন আসতে পারে সেইটার।
Cracking The Coding Interview বইটা পড়া উচিৎ এখানে সাবলীল ভাষায় Coding Interview নিয়ে লেখা হয়েছে । বইটির পিডিএফ ভার্ষন গুল করলেই পেয়ে যাবেন।
টপিকঃ যেহেতু আমি আগেই বলেছি Library Function ব্যাবহার না করাই ভালো , আমরা এমন কিছু টপিক চয়েজ করতে পারি যা Coding Test কালে Library Function ব্যাবহার ছাড়া Implement করতে বেগ পেতে না হয় । যেমনঃ
- Arrays and Strings
- Linked List , Stack , Queue, Heap
- Permutation, Combination, Sub Set
- Recursion, Backtracking, Basic DP [ basic memorization ]
- Basic Graph Theory [BFS , DFS , Topological Sort, etc ]
- Basic Sorting ( n^2 )
- Basic Searching [ Linear Search, Binary Search ]
উপরের টপিক গুলার উপরে প্রাকটিস করা যেতে পারে। সাথে এই টপিক গুলার জন্য Cracking The Coding Interview এর নির্দিষ্ট সেসন গুলো দেখে নেয়া যেতে পারে ।Interview Preparation : Interview সাধারণত দুইটা পার্টে হয়ে থাকে Technical Part, Non-technical Part . Technical Part টি সাধারণত প্রোজেক্ট লিডরা বা টিমলিড রা নিয়ে থাকেন । যেখানে বিভিন্ন Technical Part নিয়ে প্রশ্ন করে থাকেন । আর Non-Technical Part সাধারণত কোম্পানির HR নিয়ে থাকেন । কখনো কখনো দুইটা পার্ট একই সাথে হয়ে থাকে । আবার কখনো কখনো আলাদা ভাবে হতে পারে । এখানে আমি টেকনিকাল পার্ট নিয়ে কিছুটা আইডিয়া দিবো ।Technical Interview : এই ধাপটি অতিক্রম করতে কিছু টপিকের উপর সুস্পষ্ট ধারণা থাকা লাগবে । যেমনঃ
- Object Oriented Programming
- Operating System , Computer Networking
- Database Management System
- Clear Concept about Time & Memory Complexity
- Basic কিছু Data Structure & Algorithm এর ক্লিয়ার কন্সেপ্ট। যেমনঃ (Trie, Max-Heap, Min-Heap, Stack , Queue, Hash , etc) [ তবে এখানে কোনো প্রবলেম সল্ভ করতে দিবেনা , বেসিক প্রশ্ন করবেন PL রা ]
- Basic Version Control [Git]
- সাধারণত Object Oriented Design , System Design ফ্রেশার্সদের জন্য এপ্লিকেবল নয় । তবে বেসিক ধারণা থাকলে এডভানটেজ পাওয়া যাবে ।
Technical Interview এর জন্য আমি www.geeksforgeeks.org এবং www.zentut.com সাইটি সাজেশন করতে পারি ।
Technical Part এর একটা গুরুত্বপূর্ণ পার্ট হচ্ছে আপনার সিভি এবং সিভিতে থাকা ইনফরমেশন। এখানে আপনার সিভি থেকে বেশ কিছু প্রশ্ন থাকতে পারে । যেমনঃ আপনার ভার্সিটির প্রজেক্ট কিংবা থিসিস নিয়ে প্রশ্ন থাকতে পারে । আপনার যদি কিছু ছোট্ট খাটো এপ করা থাকে সেখান থেকে প্রশ্ন থাকতে পারে । তাই নিজের সিভি নিয়ে একটু নিজেই পড়াশোনা করে আসা উচিৎ । কোনো কোম্পানিতে Coding Test কিংবা Interview দেওয়ার আগে https://www.glassdoor.com থেকে সেই কোম্পানির সম্পর্কে কিছুটা ধারণা নিয়ে আসা উচিৎ।আপাতত আর কিছু মাথায় আসছেনা , যদি আসে পরে যুক্ত করে দিবো ।আপনাদের মতামত একান্তই কাম্য ।
হ্যাপি কোডিং
Comments (0)
No comments yet. Be the first to comment!
Leave a Comment