Algorithm Interview Preparation

ဒီရက်ပိုင်း Algorithm Interview Question လေးတွေလိုက်လုပ်ဖြစ်တယ်။ ကိုယ့်ကိုယ်ကိုလည်းလုပ်ဖို့ဖိအားဖြစ်အောင်သုံးရက်တစ်ပုဒ်လောက်တင်ဖို့ကြိုးစားပြီးတင်ပေးပါ့မယ်။ Algorithm Question တွေမဖြေခင် Big O Notation ဆိုတာဘာလဲ ဆိုပြီးကျွန်တော်ရေးထားတာကိုအရင်ဖတ်ပေးပါ။ Algorithm Interview တွေကိုဖြေတဲ့အခါမှာ Data Structure တွေသိထားဖို့ကလည်းအရေးကြီးပါတယ်။ ဒါမှ Problem ပေါ်မှာမူတည်ပြီးတော့ဘယ် Data Structure ကိုသုံးရင်ပိုမြန်တယ်၊ ပိုပြီးအကျိုးသတ်ရောက်မှုရှိတယ်ဆိုတာကို ဆုံးဖြတ်ရွေးချယ်လို့ရမှာဖြစ်တော့ Data Structure တွေကိုအရင် ဒီမှာ Study လုပ်ပါ။ ကြော်ငြာ – Developer/Designer အလုပ်တွေရှာနေတယ်ဆို MyanmarDevJobs.com မှာရှာနိုင်ပါတယ်။ Arrays & Hashing Two Pointers Random Business Soft Skills ကျွန်တော်တို့ Developer တွေမှာ အားနည်းချက်က Soft Skills […]

အထင်နှင့် အမြင်

တော်တော်များများကို data/number တွေနှင့်ကြည်တက်တဲ့အကျင့်တခုရှိဖို့ အရေးကြီးတယ်ဆိုတာကို အထင်နှင့် အမြင် ဆိုတဲ့ခေါင်းစဥ်နှင့် ပြန်လည်ဝေမျှလိုက်ပါတယ်။ Programmer/Software Engineer စကာစ လူငယ်တွေက တခုခုဆိုထင်တိုင်းလုပ်တက်ကြတယ်။ ကျနော်အလုပ်စလုပ်ကာစတုန်းကလဲ ကိုယ်တိုင်လဲ အဲ့လိုထဲပါတယ်ပြောလို့ရတယ်။ ဘယ်လိုအထင်နှင့် လုပ်တာလဲဆိုရင် ထားပါတော့ ရုံးမှာ Marketing Campaing တခုရှိတယ်ဆိုရင် အဲ့ campaing ကပေါက်ရင် traffic အများကြီးလာမှာ။ ဘယ်လောက်များမှာလဲတော့မသိဘူး။ ကိုယ့်အထင်နဲ့ကိုယ် 100K users တွေလာတယ်ဆိုရင် Load Balancer နောက်မှာ EC2 20 လောက်နဲ့မှ အဆင်ပြေမယ်ထင်တယ်ဆိုပီးတော့ EC20 လောက်တခါထဲဖွင့်ပီး auto scale တွေဘာတွေထည့်တာပေါ့။ ဒါကအထင်နှင့်လုပ်တာ။ အထင်နှင့်လုပ်တော့ဘာဖြစ်လဲ မသေချာဘူး။ တကယ့် result နှင့် similar တောင်ဖြစ်ချင်မှဖြစ်တယ်။ ကျနော်တို့ဥပမာမှာဆို မလိုအပ်ဘဲပိုက်ဆံကုန်မယ်။ […]

စကားပြော ယဥ်ကျေးမှု

ကျနော်အလုပ်လုပ်တာအတွေ့အကြုံတော်တော်လေးများလာပီ အဲ့ထဲက လုပ်ငန်းခွင် ယဥ်ကျေးမှု (အထူးသဖြင့် communication) နှင့်ပတ်သတ်တာလေး သိသင့်တယ်ထင်တာလေးတွေကို ပြန်လည်မျှဝေလိုက်ပါတယ်။ ကျနော်တို့မြန်မာလူမျိုးတော်တော်များများက စကားပြောယဥ်ကျေးကြပါတယ်။ အနည်းဆုံးရိုင်းတဲ့အထဲတော့မပါတာများပါတယ်။ မြန်မာမှာအလုပ်လုပ်တဲ့အချိန်မှာ ကျနော့်အတွေ့အကြုံတွေအရအားလုံးက စကားပြောရတာ တဦးကိုတဦးလေးစားပီးတော့ အဆင်ပြေတာများတယ်။ အဲ့ကနေ ကျနော် SG ပြောင်းတော့လဲ တော်တော်များများကအဲ့လိုပါဘဲ။ ဒါပေမယ့် တချို့နိုင်ငံကလူတွေက culture မတူတော့ စကားပြောတာနည်းနည်းရိုင်းတယ်လို့ ခံစားရတယ်။ သိတဲ့အတိုင်း SG ကလူမျိုးပေါင်းစုံ နိုင်ငံပေါင်းစုံကလူတွေ သူ့နေရာနှင့်သူ level တခုအတွေ့အကြုံတခုရှိပီး ရောက်လာကြတာ။ တချို့ဆိုသူ့နိုင်ငံမှာဆရာကြီးပေါ့။ အဲ့လိုလူပေါင်းစုံတွေနှင့်အလုပ်လုပ်တဲ့အခါမှာ စကားပြောဆိုတာ deal လုပ်တာတွေကအတော်လေးကိုအရေးပါတယ်။ Miscommunication ဖြစ်ဖို့ရာလဲလွယ်တယ်။ ကျနော်ကြုံခဲ့ဖူးတဲ့ထဲမှာဆို တချို့စကားပြောတာ တွေက ဘာမှမဟုတ်ဘဲတခါတလေ ရိုင်းတယ်လို့ခံစားရတာလေးတွေရှိတယ်။ ဥပမာ မင်းဒီဟာကျန်နေသေးတယ်နော်လို့ ကိုယ်ကသတိပေးလိုက်တာ၊ ကိုယ့် CTO ကသတိပေးလိုက်တာကို အောက်ကသူက […]

ကွန်ပျူတာ Power Button ကိုနှိပ်လိုက်တဲ့အချိန်ကနေ OS တက်လာတဲ့အထိ ဘယ်လိုအလုပ်လုပ်သွားလဲ

ဟိုတလောကဘယ်ကနေဘယ်လိုတွေးမိတယ်မသိပါဘူး ကွန်ပျူတာဆိုတာ 0/1 တွေနဲ့သွားနေတာဒါပေမယ့်အဲ့ 0/1 မတိုင်ခင်ကကောဘာလဲဆိုပီးစဥ်းစားရာကနေ ကွန်ပျူတာကိုစဖွင့်တဲ့အချိန်ကနေ OS တက်လာတဲ့အထိဘယ်လိုအလုပ်လုပ်လဲဆိုပီးလိုက်ရှာဖတ်ကြည့်မိတယ်။ ကျနော်လေ့လာမိသလောက်ပြန်လည်ဝေမျှလိုက်ပါတယ်။ ကွန်ပျူတာကို Power စပေးလိုက်ပီဆိုတာနဲ့ Power Supply Unit(PSU) စီကိုလျှပ်စစ်စီးသွားတယ်။ အဲ့ကနေမှ AC ကနေ DC ပြောင်းပေးတယ်။ ဘာလို့ဒီလိုပြောင်းဖို့လိုတာလဲလိုက်ကြည့်တော့ DC ရဲ့ voltage ကပိုငြိမ်တယ် အထဲက circuits တွေနဲ့ပိုအဆင်ပြေတယ်ဆိုပီးတွေ့တယ်။ PSU စီကနေမှ Motherboard စီကိုရောက်တယ်။ PSU စီကနေ Power Good Signal ကို Motherboard ရောက်လာမယ် အဲ့ကနေမှ motherboard ကို attach လုပ်ထားတဲ့ကျန်တဲ့ကောင်တွေစီကို Power ရောက်မယ်။ Motherboard ပေါ်မူတည်ပီးတော့ BIOS (Basic Input/Output System)/UEFI […]

1291. Sequential Digits

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1291. Sequential Digits ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ ကျနော်တို့မေးခွန်းကိုတချက်နားလည်အောင်ကြည့်လိုက်ရအောင်။ သူကပထမဆုံး sequential digits ကိုရှင်းပြထားတယ် ရှေ့ကနံပါတ်ထက်နောက်ကနံပါတ်ကပိုကြီးမှ sequential digits ဖြစ်တယ်ဆိုပီးရှင်းပြထားတယ်။ သူလိုချင်တာက [low, high] ကြားက sequentails digits တွေကို return ပြန်ပေးပါတဲ့ အဲ့ပြန်လာတဲ့ကောင်တွေက sorted ဖြစ်နေရပါမယ်တဲ့။ ဥပမာတွေကလဲရှင်းပါတယ် 100 နှင့် 300 ကြားက sequentials တွေက 123, 234။ အောက်မှာအဖြေကိုတချက်ကြည့်ကြည့်ရအောင်။ အဖြေမကြည့်ခင်ကိုယ်ပိုင် ကြိုးစားပီးဖြေကြည့်ဖို့အကြံပေးလိုပါတယ်။ ဒီကောင်ကိုဖြေဖို့ ကျနော်စဥ်းစားမိတာလေးတွေတချက်ပြန် ရှယ်ပါ့မယ်။ ဥပမာကိုကြည့်လိုက်တော့ 100 ကနေ […]

2966. Divide Array Into Arrays With Max Difference

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက Divide Array Into Arrays With Max Difference ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက ကျနော်တို့ကို nums ဆိုတဲ့ integer array ရယ် k ဆိုတဲ့ integer တခုပေးထားမယ်။ နောက်ဆက်ပီးတော့ပြောထားတာက လိုအပ်ချက်သုံးခုပေးထားမယ် အဲ့အချက်တွေနှင့်ညီတယ်ဆိုရင် array element သုံးခုပါတဲ့တခုအဖြစ် group လုပ်ပီးတော့ 2D array အဖြစ်ပြန်ပေးရမယ်။ သူလိုအပ်တယ်ဆိုတဲ့အချက်သုံးချက်က… ၁. Each element of nums should be in exactly one array. – […]

739. Daily Temperatures

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 739. Daily Temperatures ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက temperatures ဆိုတဲ့ daily temperature ဖြစ်တဲ့ array တခုပေးထားမယ်။ သူလိုချင်တာက လက်ရှိထက်ပိုပူတဲ့အပူချိန်ရောက်ဖို့ ဘယ်လောက်စောင့်ရမလဲဆိုတာ၊ တကယ်လို့ နောက်ရက်တွေမရှိတော့ဘူးဆို 0 ထားလိုက်တဲ့။ ဥပမာတခုကိုအရင်ကြည့်လိုက်ရအောင် သူပေးထားတဲ့ temperatures တွေထဲမှာ 73 ဖြစ်တဲ့ရက်နောက်နေ့မှာ 74 ဆိုတော့ပိုပူတယ်။ အဲ့တော့ 1 ရက်အတွင်းဖြစ်တဲ့အတွက် 1။ အပူချိန် 75 ဖြစ်တဲ့ရက်ကိုကြည့်လိုက်တဲ့အချိန်မှာ 76 ရောက်တဲ့နေ့ထိဆို 4 ရက်ကြာတယ်။ 71 ဖြစ်တဲ့ရက်ဆိုပိုပူတဲ့ရက်ရဖို့ 2 ရက်ကြာတယ်။ နောက်ဆုံး […]

1239. Maximum Length of a Concatenated String with Unique Characters

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1239. Maximum Length of a Concatenated String with Unique Characters ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက strings တွေပါတဲ့ arr ဆိုတဲ့ array တခုပေးထားမယ်။ ကျနော်တို့က s ဆိုတဲ့ string တခုလုပ်ရမယ်၊ သူပေးထားတဲ့ arr ဆိုတဲ့ array ထဲက string တွေကို concat ဆက်ရမယ်၊ ဒါပေမယ့် s ထဲမှာပါတဲ့ စကားလုံးက unique ဖြစ်နေရမယ်။ နောက်ဆုံးလိုချင်တာကတော့မထပ်ဘဲနဲ့အရှည်ဆုံးလုပ်လို့ရတဲ့ string လိုချင်တာပေါ့။ သူဥပမာလေးတွေပေးထားတယ်။ ထားပါတော့ကျနော်တို့ကို […]

645. Set Mismatch

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 645. Set Mismatch ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းကနေစလိုက်ကြမယ်။ ကျနော်တို့ကို integernums list တခုပေးထားမယ်။ မူလက 1 ကနေ n ထိသွားတဲ့ကောင် အဲ့မှာပြဿနာတခုကြောင့် list ထဲမှာ duplicated ဖြစ်သွားတယ်။ အဲ့တော့ကျနော်တို့က duplicated ဖြစ်တဲ့ကောင်ကိုရှာပီးတော့ အဲ့ကောင်ကို အမှန်ပြန်ပေးရမယ်။ အောက်ကအဖြေမကြည့်ခင် ကိုယ်ပိုင်စမ်းပီး ဖြေကြည့်ဖို့တိုက်တွန်းလိုပါတယ်။ အဖြေတချက်သွားလိုက်ကြရအောင်။ မေးခွန်းကိုမြန်မြန်ဖတ်ပီးတော့ သူ့ရဲ့ ဥပမာတွေကိုဘဲကြည့်ရင် ကျနော်တို့ပုံမှန်စဥ်းစားလိုက်တာက loop ပတ်ပီး duplicate ဖြစ်တဲ့ကောင်ရှာမယ်။ အဲ့ကောင်ကိုဘဲ ၁ တိုးတာ ၁ လျှော့လုပ်မယ်ဆိုပီးစဥ်းစားနိုင်တယ်။ ဒါပေမယ့်သူကအပေါ်ဆုံးမှာပြောထားတာက originally […]

Tree Data Structure မိတ်ဆတ်

ကျနော်တို့ Tree Data Structure ကဘာလဲကနေစလိုက်ကြရအောင်။ Tree က Non-linear Data Structure တခုဖြစ်တယ်။ မဖတ်ရသေးရင် Data Structure အမျိုးအစားတွေအကြောင်း ဒီမှာ ရေးထားတာရှိတယ်။ Tree မှာ Nodes တွေအများကြီးပါတယ်။ Nodes တွေကနောက်ထက် Nodes တွေကို Point လုပ်နိုင်တယ်။ Tree data structure က Hierarchical (အထက်အောက်) သွားတာ။ အပင်ကို ပြောင်းပြန်လှန်လိုက်တဲ့ပုံစံပေါ့။ Root ကအပေါ်ဆုံးရောက်သွားပီးတော့ leaves တွေကအောက်ဆုံးရောက်သွားတာမျိုး။ အောက်ကပုံလိုမျိုး။ Tree အကြောင်းသိပီဆိုရင် Tree နှင့်သက်ဆိုင်တဲ့အခေါ်အဝေါ်တွေကိုလေ့လာဖို့ အောက်က Example tree ကိုတချက်ကြည့်ကြည့်လိုက်ရအောင်။ ဒီ tree မှာဆို A က Parent […]

Data Structure အမျိုးအစားများအကြောင်း

ဒီနေ့ပြောမယ့်အကြောင်းအရာကတော့ Data structure အမျိုးအစားတွေအကြောင်း overall ပြောမှာပါ။ Data Structure ကိုလေ့လာမယ်ဆိုရင် primitive ဆိုတာနှင့် non-primitive ဆိုပီး ၂ မျိုးရှိပါ့မယ်။ primitive ဆိုတာ အခြေခံအကျဆုံး data structure တွေပါ၊ ဥပမာ integers, floats, characters နှင့် boolean တို့လိုမျိုးတွေပါ့။ နောက်တခုကတော့ Non-Primitives Data Structure တွေပေါ့။ ဒီကောင်တွေက အပေါ်မှာပြောခဲ့တဲ့ primitives စီကဆင်းသက်လာတာ။ အဲ့ Non-Primitives Data structure ထဲမှာမှ Linear Data Structure နှင့် Non-Linear Data Structure ဆိုပီး ၂ မျိုးကွဲသွားတယ်။ ဒါဆိုကျနော်တို့ Linear Data […]