Tips To Success In Coding Tests

LandYourDreamJob 22 May 2020
Tips To Success In Coding Tests | Blog from New Day Jobs

Aung Ko Thet

Technical Team Lead


Coding Test ဆိုတာ Developer တစ်ယောက်အတွက်Tech Company တစ်ခုကို join တော့မယ်ဆိုရင် များသောအားဖြင့် ဖြေရတတ်တဲ့Test တမျိုးပါ။ Coding Test ရဲ့ ရည်ရွယ်ချက် များစွာ ရှိပါတယ်။ 

•   ကိုယ့်ရဲ့team ကိုရောက်လာမယ့် developer ရဲ့ technical knowledge ဘယ်လောက်ရှိလဲ ?

•   ဘယ်လိုပုံစံနဲ့ code တွေ ရေးလေ့ရှိလဲ (thinking logic) 

•   messy code တွေ ရေးလေ့ရှိလား

•   variable naming ကိုရော သေချာ ဂရုတစိုက်ပေးလေ့ရှိလား

•   design pattern ဆိုတာနဲ့ ရင်းနှီးမှုရှိလား

•   ဘယ်လို design pattern မျိုးနဲ့ ရေးလေ့ရှိလဲ

•   ပေးထားတဲ့ Problem ကို ဘယ်လိုပုံစံနဲ့ဖြေရှင်းလဲ

•   Testing လုပ်ဖူးတဲ့ အတွေ့အကြုံရှိလား(Unit Testing/ UI Testing etc.. )စတာတွေ အပြင် လုပ်ငန်းသဘောတရား အပေါ်မူတည်ပြီး များစွာရှိပါတယ်။

 အဲ့ဒိတော့ coding test ကို ဖြေနိုင်ဖို့အတွက် အောက်ပါ အချက်တွေကို သေချာစွာ ဆောင်ရွက်သင့်ပါတယ်။

1.   မေးခွန်းကို သေချာစွာဖတ်ပါ။

တချို့သော coding test မေးခွန်းတွေမှာ လုပ်ဆောင်ရမယ် technical stack တွေ အတိအကျပါပါတယ်။ မေးခွန်းကို သေချာစွာ ဖတ်ပြီး မေးခွန်းမှာ ပါတဲ့ အတိုင်း အတိအကျဖြစ်အောင် ရေးသားပါ။ မေးခွန်းမှာပါတဲ့ technical stack အကုန်လုံးနဲ့ မရင်းနှီးရင် quick learning လုပ်ဖို့ လိုပါလိမ့်မယ်။

2.   သင့်တော်သော အချိန်အတိုင်းအတာ တခုယူ၍ ရေးသားပါ။

Coding Test ဆိုတာ နာရီပိုင်းအတွင်း ပြီးအောင်ရေးရတဲ့ စာမေးပွဲလို မဟုတ်ပါဘူး။ မိမိသိထားသမျှ technical knowledge တွေကို ပေးလာတဲ့ problem အပေါ်မှာကောင်းစွာ အသုံးချပြီး company(interviewer) ရဲ့ စိတ်ဝင်စားမှုကို ရယူရမှာပါ။ Coding Test ကို ပေးတဲ့သူ ကိုယ်တိုင်ဆီမှာ ဘယ်လို level ၊ ဘယ်လို skill ရှိတဲ့သူဖြေရင် အချိန် ဘယ်လောက်ကြာမယ်ဆိုတဲ့ ခန့်မှန်းချက် ရှိနေပြီးသားပါ။ ချက်ခြင်းပေး ချက်ခြင်းဖြေ လို့ရတဲ့ အထိ မလွယ်ကူပါဘူး။ အပေါ်မှာ ပြောခဲ့သလိုပဲ thinking logicတွေ၊ design pattern တွေ၊ testing တွေနဲ့ ပြည့်စုံကောင်းမွန်အောင် ရေးဖို့ နာရီပိုင်းဆိုတဲ့ မေးခွန်းဟာ ဖြစ်နိုင်ခြေနည်းပါတယ်။ ကိုယ်မကျွမ်းကျင်တဲ့ technical stack ပါလာရင် learning လုပ်ဖို့ အချိန် လိုမှာပါ။ ဒါပေမယ့် quick learning ဖြစ်မှ အဆင်ပြေနိုင်မှာပါ။ အဲ့အတွက်လဲ အချိန်ကို ထည့်တွက်ပါ။

3.   Clean Code ဖြစ်ပါစေ။

မိမိရဲ့ code ကို ဖတ်လိုက်ရုံနဲ့ မိမိရဲ့ technical skillကို ဖော်ပြနိုင်တဲ့ အတွက် ရေးသားထားတဲ့ code တွေဟာ messy ဖြစ်နေလို့ မရပါဘူး။ Variable naming တွေက အစ ဘာကိုဆိုလိုချင်တယ်ဆိုတာ code ကို ဖတ်လိုက်ရုံနဲ့ သိသာအောင် ဂရုတစိုက်ရေးပါ။ လိုအပ်ရင် ရှုတ်ထွေးတယ်ထင်တဲ့ logic တွေကို comment ဖြင့် ရှင်းပြပေးထားပါ။

4.   Documentation သေချာပြင်ဆင်ပြီး ထည့်ပေးပါ။

Coding Test submit လုပ်တဲ့ အခါ မိမိကိုယ်တိုင် interviewer ဘေးနားမှာနေပြီး ရေးထားတဲ့ code တွေကို မရှင်းပြနိုင်တဲ့ အတွက်ကြောင့် documentation ကို သေချာစွာ ပြင်ဆင်ပြီး တခါထဲ coding test အဖြေနဲ့ ရောပြီး ပို့ပေးပါ။ Documentation မှန်းလဲ သိသာအောင် file နာမည်ကိုပေးပါ။

5.   Git commit history ကို ရှင်းလင်းအောင်ပေးပါ။

Coding Test submit လုပ်တဲ့ အခါ project ကို git ကနေ submit လုပ်မယ်ဆိုရင် ရှင်းလင်းတဲ့ commit message ကို ရေးသားပါ။ init တကြောင်း finished တကြောင်း မလုပ်ပါနဲ့။ Problem မှာပါတဲ့ feature တခုပြီးတိုင်း ရှင်းလင်းတဲ့ commit message ရေးသားပြီး commit တင်နိုင်အောင်ကြိုးစားပါ။ အကြောင်းကြောင်းကြောင့် error တက်သွားခဲ့ရင်တောင်မှ နောက်ဆုံးတင်ခဲ့တဲ့ commit point အထိပြန်သွားလို့ရနိုင်တဲ့ အတွက် Ctrl + z လုပ်လို့ မရနိုင်တော့တဲ့ အခြေအနေမျိုးကနေ ကာကွယ်ပေးနိုင်ပါတယ်။

6.   Design Pattern သုံးပါ။

မိမိသိထားတဲ့ technical knowledge ကို ထုတ်ပြဖို့ အကောင်းဆုံး အခွင့်အရေးပါ။ သေသေချာချာ နားလည်ချင်တယ်ဆိုရင် အောက်မှာ language တချို့အတွက် source linkလေးတွေ ထည့်ပေးထားပါတယ်။

Design Pattern for Java

•   Design-patterns-in-java-Javatpoint

•   Design-patterns-in-java-tutorialspoint

•   Design-patterns-for-java-Refactoring-Guru

Design Pattern for PHP

•   Design-patterns-for-PHP-Refactoring-Guru

•   Design-patterns-for-PHP-tutorialspoint

•   Design-patterns-for-PHP-Script-Tutorials

Design Pattern for Python

•   Design-patterns-for-Python-Refactoring-Guru

•   Design-patterns-for-Python-tutorialspoint

•   Python-Pattern-Guide

7.   Test ကိုလဲ ထည့်ဖြစ်အောင်ထည့်ပါ။မိမိရေးထားတဲ့ code ဟာfully tested ဖြစ်တယ်ဆိုတဲ့ ယုံကြည်ချက်မျိုးကို interviewer ထံ ပြသနိုင်တဲ့ အချက်ပါ။ Unit testing လောက်တော့ ထည့်ပေးနိုင်တာ ကောင်းဆုံးပါ။ TDD (Test-driven Development) ဖြစ်ဖို့ အချိန်ယူပြီးရေးသားပါ။ 

Unit Testing in Java

•   https://www.vogella.com/tutorials/JUnit/article.html

•   https://www.tutorialspoint.com/junit/junit_test_framework.htm

•   http://tutorials.jenkov.com/java-unit-testing/index.html

Unit Testing in PHP

•   https://www.cloudways.com/blog/getting-started-with-unit-testing-php/

•   https://www.sitepoint.com/tutorial-introduction-to-unit-testing-in-php-with-phpunit/

•   https://phpunit.de/getting-started/phpunit-9.html

Unit Testing in Python

•   https://docs.python.org/3/library/unittest.html

•   https://realpython.com/python-testing/

•   https://www.geeksforgeeks.org/unit-testing-python-unittest/


New Day Jobs ဆိုတာ အလုပ်အကိုင်များစွာကို တစ်နေရာတည်းမှာ ရှာဖွေလျှောက်ထားနိုင်တဲ့ အလုပ်အကိုင် website ဖြစ်ပါတယ်။အလုပ်အကိုင်များကို လျှောက်ထားနိုင်လိုပါက New Day Jobs မှတဆင့် လျှောက်ထားနိုင်ပါတယ်။

Back

You will receive the email for your email confirmation. Please check!