Behavioral Q&A preparation Flashcards

(15 cards)

1
Q

ចូរនិយាយពីតួនាទី (role) របស់ Strategy design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

Strategy pattern ជា pattern មួយដែល ពាក់ព័ន្ធនឹងការ ដក algorithms ពី host class រួចទៅដាក់ ក្នុង​ class មួយផ្សេងទៀត។ strategy pattern អនុញ្ញាតឲ្យ client ជ្រើសរើសនូវ algorithms ពី family algorithms នឹង give a simple way to access it។

Example: នៅតាមហាងឬផ្សារទំនើប អ្នកអាចជ្រើសរើសវិធីទូទាត់ដូចជា សាច់ប្រាក់, បង់តាម QR Code (Wing, ABA), បង់តាមកាត ATM, បង់តាម App (Pi Pay, TrueMoney) អ្នកអាចជ្រើសយុទ្ធសាស្ត្រផ្សេងៗគ្នាដើម្បីសម្រេចការបង់ប្រាក់ដូចគ្នា។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

ចូរនិយាយពីការប្រើប្រាស់ (use) របស់ Strategy design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

យើងប្រើប្រាស់ Strategy pattern នៅពេលដែល
- មាន class ជាច្រើនដែលខុសគ្នាតែ behavior
- មាន algorithms ផ្សេងគ្នាដែលអាច handle purpose និង ការផ្ដល់ឲ្យសម្រាប់ការជ្រើសរើស criteria ដែលអាច codified
- Algorithms ដែលប្រើ data ក្នុងការមិនអនុញ្ញាតឲ្យ client access បាន

Example: នៅតាមហាងឬផ្សារទំនើប អ្នកអាចជ្រើសរើសវិធីទូទាត់ដូចជា សាច់ប្រាក់, បង់តាម QR Code (Wing, ABA), បង់តាមកាត ATM, បង់តាម App (Pi Pay, TrueMoney) អ្នកអាចជ្រើសយុទ្ធសាស្ត្រផ្សេងៗគ្នាដើម្បីសម្រេចការបង់ប្រាក់ដូចគ្នា។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

ចូរគូស UML class diagram ទាក់ទិននឹងបញ្ហាណាមួយដែលមានការអនុវត្ត Strategy design pattern។

A

https://drive.google.com/file/d/1P3pIzyne_B7L2k51FD97sY57cK61O3C8/view?usp=sharing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

ចូរនិយាយពីតួនាទី (role) របស់ State design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

State pattern ជា pattern មួយដែល allow an object ធ្វើការ change its behavior និង functionality អាស្រ័យទៅតាម internal values។ នៅពេលដែល internal values change នោះ state របស់វាអាចនឹង change (មិនមែនគ្រប់ពេលរហូតនោះទេ ) ។ State pattern គឺជា dynamic version របស់ strategy pattern។

Example: ភ្លើងស្ដុបចរាចរណ៍
ភ្លើងស្ដុបចរាចរណ៍នឹងធ្វើការផ្លាស់ពីក្រហម ទៅ បៃតង រួចទៅ លឿង។ ភ្លើងស្ដុបចរាចរណ៍បានកំណត់នូវសកម្មភាពរបស់យានយន្ដដូចខាងក្រោម:
ក្រហម → ឈប់
បៃតង → បន្តដំណើរ
លឿង → បន្ថយល្បឿន
ការផ្លាស់ប្ដូរពណ៌ (state) របស់ភ្លើងស្ដុបបានធ្វើការកំណត់នូវសកម្មភាព (behavior or functionality) របស់យានយន្ដដែលធ្វើដំណើរ។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ចូរនិយាយពីការប្រើប្រាស់ (use) របស់ State design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

យើងប្រើប្រាស់ State pattern នៅពេលដែល
1. យើងមាន object ដែល (ករណីដែល programming មានហើយ):
- នឹងធ្វើការ ផ្លាស់ប្ដូរនូវ behavior របស់វាកំឡុងពេល runtime អាស្រ័យទៅតាម context។
​​ - Are becoming complex ជាមួយនឹង conditional branches ជាច្រើន។
2. យើងចង់ (មិនមាន programming ហើយសម្រេចថាប្រើ ឬ មិនប្រើ strategy):
​​ - មានបម្រែបម្រួល សំណុំនៃ handlers សម្រាប់ object request យ៉ាង dynamically ។
- រក្សាភាព បត់បែន នៅក្នុង assigning request to handlers។

Example: ភ្លើងស្ដុបចរាចរណ៍
ភ្លើងស្ដុបចរាចរណ៍នឹងធ្វើការផ្លាស់ពីក្រហម ទៅ បៃតង រួចទៅ លឿង។ ភ្លើងស្ដុបចរាចរណ៍បានកំណត់នូវសកម្មភាពរបស់យានយន្ដដូចខាងក្រោម:
ក្រហម → ឈប់
បៃតង → បន្តដំណើរ
លឿង → បន្ថយល្បឿន
ការផ្លាស់ប្ដូរពណ៌ (state) របស់ភ្លើងស្ដុបបានធ្វើការកំណត់នូវសកម្មភាព (behavior or functionality) របស់យានយន្ដដែលធ្វើដំណើរ។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

ចូរគូស UML class diagram ទាក់ទិននឹងបញ្ហាណាមួយដែលមានការអនុវត្ត State design pattern។

A

https://drive.google.com/file/d/1PwzcMeNWybNMgiQ33iJSYIs_KRfR9OAn/view?usp=sharing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ចូរនិយាយពីតួនាទី (role) របស់ Template Method design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

template method pattern ជា pattern មួយដែល ធ្វើការ design ឡើងដើម្បី បង្កលក្ខណៈឲ្យ algorithms បង្វែរផ្នែកតូចៗដែលគេបាន​ well-defined step ទៅកាន់ subclasses ។

Example: ការធ្វើភេសជ្ជៈ (កាហ្វេ និងតែ)
អ្នកអាចឆុងកាហ្វេ ឬ ឆុងតែដែលប្រព្រឹត្តទៅតាមដំណាក់កាលដូចគ្នា ដូចខាងក្រោម៖
1. ដាំទឹកឲ្យពុះ
2. ចាក់កញ្ចាប់ភេសជ្ជៈចូលក្នុងកែវ
3. ចាក់ទឹកចូលកែវ
4. បន្ថែមគ្រឿងផ្សំចូលកែវ
យើងអាចសន្មតជាផ្លូវការថាការធ្វើភេសជ្ជៈ ត្រូវធ្វើជា 4 ដំណាក់កាលលើកលែងតែ ដំណាក់កាលទី 2 និងទី 4 ដែលអាចត្រូវប្ដូរបានតាមតែប្រភេទភេសជ្ជៈ ដោយការធ្វើភេសជ្ជៈជាកាហ្វេត្រូវ ចាក់ម្សៅកេហ្វេ នឹងថែមទឹកកក ចំណែកឯការធ្វើភេសជ្ជៈជាតែ ត្រូវត្រាំកញ្ចប់តែ រួចបន្ថែមក្រូចឆ្មារ។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

ចូរនិយាយពីការប្រើប្រាស់ (use) របស់ Template Method design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

យើងប្រើប្រាស់ template method pattern នៅពេលដែល
- ការធ្វើការងាររួមមួយដែលគេអាចដាក់ចេញក្រៅពី algorithms ។
​​ - behavior មានការប្រែប្រួលអាស្រ័យទៅតាម subclasses ។

Example: ការធ្វើភេសជ្ជៈ (កាហ្វេ និងតែ)
អ្នកអាចឆុងកាហ្វេ ឬ ឆុងតែដែលប្រព្រឹត្តទៅតាមដំណាក់កាលដូចគ្នា ដូចខាងក្រោម៖
1. ដាំទឹកឲ្យពុះ
2. ចាក់កញ្ចាប់ភេសជ្ជៈចូលក្នុងកែវ
3. ចាក់ទឹកចូលកែវ
4. បន្ថែមគ្រឿងផ្សំចូលកែវ
យើងអាចសន្មតជាផ្លូវការថាការធ្វើភេសជ្ជៈ ត្រូវធ្វើជា 4 ដំណាក់កាលលើកលែងតែ ដំណាក់កាលទី 2 និងទី 4 ដែលអាចត្រូវប្ដូរបានតាមតែប្រភេទភេសជ្ជៈ ដោយការធ្វើភេសជ្ជៈជាកាហ្វេត្រូវ ចាក់ម្សៅកេហ្វេ នឹងថែមទឹកកក ចំណែកឯការធ្វើភេសជ្ជៈជាតែ ត្រូវត្រាំកញ្ចប់តែ រួចបន្ថែមក្រូចឆ្មារ។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

ចូរគូស UML class diagram ទាក់ទិននឹងបញ្ហាណាមួយដែលមានការអនុវត្ត Template Method design pattern។

A

https://drive.google.com/file/d/1EJ-1J0wOcRc4bilQMikxEsSv58FMggIZ/view?usp=sharing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

ចូរនិយាយពីតួនាទី (role) របស់ Command design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

command pattern ជា pattern មួយដែល បង្កើតមកសម្រាប់ការដាក់គម្លាតរវាង client ដែល request និង object ដែល ធ្វើការ perform ។

Example: ការបញ្ជាលើ Remote TV
អ្នកចុចប៊ូតុង (client) “Power” → ទូរទស្សន៍បើក
ចុចប៊ូតុង “Volume +” → សំឡេងឡើង
ចុចប៊ូតុង “Channel 5” → ប្ដូរទៅប៉ុស្តិ៍ លេខ៥
រាល់ប៊ូតុងគឺជា “ពាក្យបញ្ជា” មួយ ដែលទៅអោយទូរទស្សន៍អនុវត្តន៍ (receiver) ។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

ចូរនិយាយពីការប្រើប្រាស់ (use) របស់ Command design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

យើងប្រើប្រាស់ command pattern នៅពេលដែល យើងចង់
- ធ្វើការកំណត់ នូវ queue និង execute different times ។
​​ - support an undo functions for commands ។
- support auditing និង​ logging គ្រប់ changes ដែលបានកើតឡើង តាមរយៈ commands ។

Example: ការបញ្ជាលើ Remote TV
អ្នកចុចប៊ូតុង (client) “Power” → ទូរទស្សន៍បើក
ចុចប៊ូតុង “Volume +” → សំឡេងឡើង
ចុចប៊ូតុង “Channel 5” → ប្ដូរទៅប៉ុស្តិ៍ លេខ៥
រាល់ប៊ូតុងគឺជា “ពាក្យបញ្ជា” មួយ ដែលទៅអោយទូរទស្សន៍អនុវត្តន៍ (receiver) ។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

ចូរគូស UML class diagram ទាក់ទិននឹងបញ្ហាណាមួយដែលមានការអនុវត្ត Command design pattern។

A

https://drive.google.com/file/d/1o_6ofTav8xSWFbsTyyJVykn6JmQH5I60/view?usp=sharing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

ចូរនិយាយពីតួនាទី (role) របស់ Observer design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

observer pattern ប្រើសម្រាប់កំណត់ ទំនាក់ទំនង រវាង object ដែលមានការផ្លាស់ប្ដូរ state នោះរួចនឹងធ្វើឲ្យ objects ដទៃទៀត ទទួលបាននូវការ notified ។

Example: ការ join group
ពេលដែលយើង join group telegram មួយ រាល់ពេលណាដែលមានអ្វីថ្មីនៅក្នង group នោះយើងនឹងទទួលបានការ notify។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

ចូរនិយាយពីការប្រើប្រាស់ (use) របស់ Observer design pattern ដោយមានភ្ចាប់ឧទាហរណ៍មកបញ្ចាក់។

A

យើងប្រើប្រាស់ observer pattern នៅពេលដែល យើងចង់
- មាន aspect ជាច្រើនដែលប្រើប្រាស់ abstraction ដោយឯករាជ្យ ។
​​ - នៅពេលមានការផ្លាស់ប្ដូរក្នុង object មួយត្រូវបាន​សាយភាយទៅកាន់ក្រុម selection object ទាំងអស់ ។
- object ដែលធ្វើការផ្លាស់ប្ដុរមិនត្រូវការ ដឹងថា​ receiver ជានរណាទេ ។

Example: ការ join group
ពេលដែលយើង join group telegram មួយ រាល់ពេលណាដែលមានអ្វីថ្មីនៅក្នង group នោះយើងនឹងទទួលបានការ notify។

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

ចូរគូស UML class diagram ទាក់ទិននឹងបញ្ហាណាមួយដែលមានការអនុវត្ត Observer design pattern។

A

https://drive.google.com/file/d/1CNGS0cZw1liXH9UN9A2XR-ezbY7AsClv/view?usp=sharing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly