This website uses cookies. We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.

Cookies are small text files that can be used by websites to make a user's experience more efficient.

The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies we need your permission.

This site uses different types of cookies. Some cookies are placed by third party services that appear on our pages.

You can at any time change or withdraw your consent from the Cookie Declaration on our website.

Learn more about who we are, how you can contact us and how we process personal data in our Privacy Policy.

Please state your consent ID and date when you contact us regarding your consent.

Your consent applies to the following domains: blog.angulion.dev

Your current state: Deny. 

Cookie declaration last updated on 6/28/23 by Cookiebot:

Necessary (4)

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

Name Provider Purpose Maximum Storage Duration Type
CookieConsent Cookiebot Stores the user's cookie consent state for the current domain 1 year HTTP Cookie
iconify0 blog.angulion.dev Used by the website's content management system (CMS) to determine how the website's menu-tabs should be displayed. Persistent HTML Local Storage
iconify-count blog.angulion.dev Used by the website's content management system (CMS) to determine how the website's menu-tabs should be displayed. Persistent HTML Local Storage
iconify-version blog.angulion.dev Used by the website's content management system (CMS) to determine how the website's menu-tabs should be displayed. Persistent HTML Local Storage

Marketing (1)

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

Name Provider Purpose Maximum Storage Duration Type
i/jot/embeds Twitter Inc. Sets a unique ID for the visitor, that allows third party advertisers to target the visitor with relevant advertisement. This pairing service is provided by third party advertisement hubs, which facilitates real-time bidding for advertisers. Session Pixel Tracker

Unclassified (5)

Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.

Name Provider Purpose Maximum Storage Duration Type
__ph_opt_in_out_phc_mhkFeVpp5lxOsefr2qaJVPXQlpXkfgPgG5RTHTRKy4M blog.angulion.dev Pending Session HTTP Cookie
ph_#_posthog [x2] blog.angulion.dev Pending 1 year HTTP Cookie
ph_#_primary_window_exists blog.angulion.dev Pending Session HTML Local Storage
ph_#_window_id blog.angulion.dev Pending Session HTML Local Storage

Let's ruin your Angular interview

Post cover

Heey lovely devs 💛



You might be interested why this guy made a post about interviewing, recruitment, etc. 🤬

Well, I’ve been attending quite a lot interviews, from both perspectives - I was being interviewed, I was an interviewer. Turns out a lot of “PRO” devs say things making me thinking


WHAT’S GOING ON BRUH


Let’s go to the examples - I’m 100% sure it will help you avoid such bullshit 💩

Disclaimer❗️


It’s not about beginners, interns, juniors or mids. It’s 100% fine when they make mistakes ❤️


❗️ However if you’re self-entitled Senior Pro Angular Motherfucker… sorry, not today

(I) Which projects/apps would you use Angular for?



I think… for every project? I love Angular ❤️

Yes, I love it too, however, you cannot pick whatever you want for EVERY project


✨ ooh c’mon man, that’s too easy ✨


Ok. You can. But it doesn’t work. Answer for this question is - ✨ it depends ✨

On what?

LISTEN It depends on project complexity, scalability, features you need… etc. In addition - if you’re working for a client - it’d be lovely to use company’s primary tech. They could’ve already solved a lot of problems, so you can avoid them 😎

Give me an example

Sure. Using Angular for a simple landing page equals overkill ☠️


I’d also love to pick whatever I want, however reality is different. Personal preferences => personal projects

(II) Let’s go to the JavaScript questions section



Firstly, I’m Angular developer, so there’s a chance I don’t know JavaScript well

HOW DARE YOU 😔 it was going so well and now… eh 😩


FIRSTLY - that’s not an excuse. SECONDLY - that’s bullshit. THIRDLY - how can you understand any framework?


Sorry, but it’s like you’re a hydraulic, but don’t really know how the water comes from in the pipes. 🪠


END OF THREAD

(III) Don’t you mind a bigger final bundle because TS types are there?



No, that’s fine

No, that’s not fine, even if I set a small trap here, it’s still really important to know, that TypeScript transpiles to JavaScript. It doesn’t have any types as I remember.


You’re not running TypeScript in the browser (yet), your TypeScript is transpiled to JavaScript, and that’s what browser is being fed of 🍔


In case of the question I also like to ask about the difference between class & interface


Class vs Interface comparison

That’s the difference 🚀

(IV) What’s the difference between Promise and Observable (RxJS)


Actually, we have to use Observables in Angular, Promises in others

Yep, that’s lovely that we have such tool as the whole RxJS accessible/integrated so easy. However that’s not a difference. Observables are lazy, cancellable, deliver values over time, provide data manipulation, etc. Promises not


In other words (it’s about Observables):

  • they’ll not emit until subscribed
  • if some result of the request is not needed anymore - it can be cancelled
  • we modify the whole stream by excluding not needed elements, changing it’s structure etc.


P.S. You can use Promises in Angular

(V) Would you use one, big shared module to provide common stuff?

Yes, it’s easy to use when I have to import once and have everything

Bro, do you know what could be the biggest problem here? I can bet $1M (just kidding, I’m poor) that you’ll have more stuff there.


And this ✨ more stuff ✨will be always unnecessarily imported. Whenever you want only 20 of 100 things, what’s the purpose of loading another 80? 🤪


EXAMPLE: shared “material module”

Wrapping up


So… what do YOU think? 🤔 P.S. You can use the “Comment” button 😋


— Your truly