Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save m-alikhizar/88f978e17d7a3d9a3704edb193a9a7e9 to your computer and use it in GitHub Desktop.
Save m-alikhizar/88f978e17d7a3d9a3704edb193a9a7e9 to your computer and use it in GitHub Desktop.
General programming concepts
Variables
There are two variable declaration keywords: let which is useful in imperative iteration rather than more functional approach. By default, Const declaration is a signal that tells, "the value assigned to this name is not going to change". It also helps in fully understand what the name means right away, without needing to read the whole function or block scope.
Frameworks and Libraries
Don't define yourself by a framework, library, or coding paradigm. The best engineers are problem solvers first and foremost; Frameworks and libraries are simply tools for solving problems.
Aspire to a be great engineer no matter the language.
Why should we hire you?
If you hire me it will be great platform to showcase my skills. Whatever goals set, I ensure to complete them within stipulated time.
Reason behind leaving your previous job?
In order to enhance my skillset I’m looking for better opportunities.
Why have you been unemployed for such a long time?
I enrolled myself for some advanced personality development course with some freelance work.
Tell me your ability to work under pressure?
I keep my self calm and focus on multitasking while being patient.
What are your expections from job?
Professionally advancement and good future.
Describe your management style?
I will be keeping tab of current work with subordinates and seniors finishing the current task before deadline.
Are you a team player?
Yes, The teams I was part of have completed successfully the projects within deadlines.
What irritates you about the co workers?
I believe in team work Even if I. Find any thing irritating I try to avoid. It unless. It personally affects me.
How long. Would you expect. To work for us if hired?
As long as I feel challenged. professionally.
How. Do you. See. Yourself 5 years from now?
I see my self in. A senior position. Managing important portfolios of this compnay.
Do you consider. Yourself successfull?
Yes apart. From appraisals, I think I have earned a bunch of good colleagues in my life.
What. Is your weakness?
I concentrate on one thing at a time.
What is your strength?
I am quick learner and great. Team player.
What position do you prefer. On a team. Working on. A project?
It doesn’t matter till I learn something. New in every project.
Do you have any questions. For us?
When can I join.
REACT ENGINEER
React is great for two primary reasons;
1. Deterministic view renders
2. Abstracting the view layer. Away from direct DOM manipulation.
Why JSX
You can embed. Any javascript. Expression in JSX wrapping with curly braces.
JSX is a expression. After compilation JSX expressions becomes javascript function calls and evaluates to javascript objects.
JSX prevents Injection Attacks. And its safe to put user input inside JSX.
Because React DOM escapes any values in JSX before rendering them. Everything is covered to String before rendering. This helps. XSS cross-site-scripting attacks.
JSX represents Objects.
Babel compiles JSX down to React.createComponent calls.
Elements
Elements are the smallest building blocks of React apps.
Const element = <h1>hello</h1>
Components
Components let you split the UI into independent, reusable pieces and thinking about each piece in isolation.
All React components should act like pure functions with respect to their props.
Often there's no single place where the program is slow; instead, the program suffers from a "death by a thousand cuts". 
Features that encourage separation of concerns, such as function calls, allocating objects, and various abstractions, eat away at the runtime performance.
If a tree falls in a forest and no one is around to hear it, does it make a sound?
The average human brain has only a few shared resources for discrete quanta in working memory, and each variable potentially consumes one of those quanta. As you add more variables, our ability to accurately recall the meaning of each variable is diminished. Working memory models typically involve 4–7 discrete quanta. Above those numbers, error rates dramatically increase.
Using the pipe form, we eliminated 3 variables — freeing up almost half of our available working memory for other things. That reduces our cognitive load significantly. Software developers tend to be better at chunking data into working memory than the average person, but not so much more as to weaken the importance of conservation.
Code is the same way. More concise code expression leads to enhanced comprehension. Some code gives us useful information, and some code just takes up space. If you can reduce the amount of code you use without reducing the meaning that gets transmitted, you’ll make the code easier to parse and understand for other people who need to read it.
Less code = less surface area for bugs = fewer bugs.
Class inheritance can be used to construct composite objects, but it’s a restrictive and brittle way to do it. When the Gang of Four says “favor object composition over class inheritance”, they’re advising you to use flexible approaches to composite object building, rather than the rigid, tightly-coupled approach of class inheritance.
Favor object composition over class inheritance” means that you should form composite objects from small component parts, rather than inheriting all properties from an ancestor in a class hierarchy. 
The most common form of object composition in JavaScript is known as object concatenation (aka mixin composition). It works like ice-cream. You start with an object (like vanilla ice-cream), and then mix in the features you want. Add some nuts, caramel, chocolate swirl, and you wind up with nutty caramel chocolate swirl ice cream.
functions are the simplest things to compose in JavaScript
What we won’t do is say that functional programming is better than object-oriented programming, or that you must choose one over the other. OOP vs FP is a false dichotomy. Every real Javascript application I’ve seen in recent years mixes FP and OOP extensively.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment