becoming certifieds23276.pcdn.co/wp-content/uploads/2018/11/vinai-kopp... · 2018-11-19 · who...

Post on 20-May-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

BECOMINGCERTIFIED

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Who here has sat inone or more Magento 1 exams?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Who here has sat inone or more Magento 2 exams?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

SO LET'S NOT TAKETHIS TOO SERIOUSLY

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento 1 Certificaton

!=Magento 2 Certification

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

How so?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento 1 &Magento 2:

Questions are developed by aCommunity Advisory Board

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento 1 &Magento 2:

Each question is written to fit anExam Blueprint Objective

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento 1 != Magento 2:

Time frame andReview Process

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento 1:

Months of online meetings and reviews

Magento 2:

One week focus group, all in one room

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento 1:

Rather contrived, memorization friendly

Magento 2:

Scenario based, real life, more natural

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento 1:

Questions about Config XML Paths and Class Names.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

The Reasoning was:

"Magento Developers with experience will have written them countless times and know them by heart."

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

This was before Magicento existed...

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magicento:▸ Code generation▸ Autocompletion

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento 2:

No questions about thingswith IDE autocompletion

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

How do the questions look like?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Each item has 3 Parts:▸ The Scenario▸ The Stem▸ The Options

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

▸ The Scenario

Information required to choose the correct answer

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

▸ The Stem

The question

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

▸ The Options

The possible answers

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Valid answer keys:▸ Choose 1 out of 4▸ Choose 2 out of 4▸ Choose 3 out of 5

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

If more than one answer has to be selected,the number of required options is stated like this:

"Which three actions do you take? (Choose three)"

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

For questions with multiple answers,the right number of options have to be selected and

all selected answers have to be correct.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

▸ No trick questions▸ No “none of the above”▸ No “all of the above”

▸ No “which of the following are true”▸ No double negatives

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

ACTIONABLE QUESTIONS!

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

"How do you fix the issue?"

"What actions do you take?"

"What is the effect of that code?"

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

EXAMPLEQUESTION

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

(1/2)

You are working for an extensions vendor who protects their intellectual property by validating licenses against a license server.

Customers are complaining that running any bin/magento command isvery slow after installing one of the companies extensions.

The extension adds a command to bin/magento.

While investigating, you discover the following code in the command class:

public function __construct($license){ $this->isLicenseValid = $this->validateLicense($license); parent::__construct();}

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

(2/2)

public function __construct($license){ $this->isLicenseValid = $this->validateLicense($license); parent::__construct();}

How do you resolve the issue?

A. Implement local license validation instead of over the internet

B. Move the validateLicense() call into the execute() method

C. Check the license at random samples instead of every time

D. Cache the validation result in the Magento config cache

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Answer:B. Move the validateLicense() call into the execute() method

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento Technical Guidelines

2.3. Class constructor can have only dependency assignment operations and/or argument validation

operations. No other operations are allowed.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Example Excerpt:

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

But why?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Why?Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

(back to the topic of exam questions)

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

SOME QUESTIONS HAVE QUALIFIERS.

What are qualifiers?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Qualifiers are part of the Stem:

▸ Keeping simplicity in mind ...▸ Keeping maintainability in mind ...▸ Keeping compatibility in mind ...▸ Keeping testability in mind ...

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

WHAT IS THE PURPOSE OF QUALIFIERS?

They guide us to the correct answer.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Magento is flexible.

There are many ways to accomplish a goal.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

We often have to make decisionshow to implement a requirement.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

For questions with qualifiersoften more than one answer is technically correct.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Do we use ...

a preference, a type argument configuration

or a plugin?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Do we use ...

an ORM model or a Api Data model?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Do we inject ...

an interface or a concrete implementation?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Depending on the circumstances,every approach could be valid.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Faster development vs. better maintainability

More upgradable code vs. more performant code

...

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

▸ lifetime of the project▸ project budget▸ developer skill level

▸ security considerations (internal / external access)▸ use of third party modules▸ desired code reuse

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Qualifiers tell us which answer to choosefor the given scenario.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Maintainability?

Probably rules out options where code is copied.Favor answers that make changes and upgrades simpler.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Compatibility?

Rule out options with a higherextension conflict probability.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Simplicity?

Favor expressive options using theleast number of elements.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Testability or Reusability?

Favor answers that allow replacing collaboratorswith test doubles or other classes.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

EXAMPLEQUESTION

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

You need to customize the Magento_Checkout/js/proceed-to-checkoutJavaScript module.

How do you do that, keeping compatibility in mind?

A. Add a path override configuration to the requirejs-config.js

B. Add a global map alias override to the requirejs-config.js

C. Copy the file proceed-to-checkout.js to the folder Magento_Checkout/js/ of the active frontend theme

D. Add a JavaScript mixin to the requirejs-config.js

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Answer:D. Add a JavaScript mixin to the requirejs-config.js

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

GETTING READY

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Study Guide

The study guide is based on the exam blueprint.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

SWIFT OTTER STUDY GUIDES

Based on the Magento U study guidebut much expanded.

The Official Technical Developer Guidelines

(ask Why?)

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Don't memorize OOP patterns and principles for the exam.

Without experience, that does more harm than good.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Better to go from first principles:▸ What is a source code dependency?

▸ What are the consequences of a dependency?

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Deeper understandingof the principles behind the labels.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

▸ Interfaces and the Liskov Substitution principle▸ Coupling and Cohesion

▸ Favor Composition over Inheritance

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

Familiarize yourself withKent Beck’s 4 rules of simple design.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

1. Passes all tests

2. Expresses intent 3. No duplication

4. Fewest possible elements

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

When a question has the qualifier

“Keeping simplicity in mind...”

apply these rules.

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

SMART GUESSING

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

And finally...

Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10

top related