The client requested knowledge in the following topics:
UI development Syllabus as follow. it is detailed but this is what we expect
- Programming Languages : HTML5, CSS3, SASS, JS
- EMCAScript 6, React and Redux, NodeJS, Bootstrap
- automation tools and CI/CD
- development tools : Rally / Gira, Perforce/ GIT, Jenkins, QC, Weblogic/ Tomcat, Webpack
- Dynamic vs. Static Programming Languages
- NodeJS vs. Browser
- Variables
- Types
- Condition
- Loops
- Other Flow Control
- Arrays
- Objects
- Strings
- Error Handling
- Value vs. reference
- Functions
- Data Structures
- Initializing a new repo
- Query current status
- Committing changes
- Rolling back
- Pushing changes
- Pulling changes
- Resolve conflicts
- Creating new branch
- Merging between different branches
- Use Github
- Basic HTML Tags
- Querying the DOM
- Modifying the DOM
- Creating new elements
- Event Listeners
- Event object
- window object
- Timers
- Cookies
- localStorage
- RegExp
- CSS
- AJAX
- JSON
- Date API
- jQuery
- Why use Typescript
- Installing
- Compiling
- tsconfig.json
- Modules
- generics
- Abstract class & Interfaces
- Encapsulation
- enums
- Decorators
- @types
- Prototype based classes
- Prototype based inheritance
- Promise API
- async/await
- Event Loop
- bind
- call vs. apply
- Modules
- Classes & Inheritance
- Arrow Functions
- Spread operator
- Rest parameter
- Template string
- Destructuring
- Let & const
- For of
- Iterators
- Map & Set
- Why & What
- Installing
- nvm
- npm
- Asynchronous IO
- Why you should never block
- File System API
- Stream API
- Package Management
- Buffers
- Process API
- Debugging
- Consuming HTTP
- Path
- CJS Modules
- SASS
- File API
- History API
- Web Socket
- Audio/Video
- CSS Animations
- Responsive Web Design
- Same Origin Policy
- JSONP
- CORS
- SVG
- Drag & Drop
- Canvas
- React component
- Render function
- JSX
- Component lifecycle
- State
- Props
- Mixins
- Component composition
- Pass data from parent to child
- Pass data from child to parent
- React Context
- Thinking in React
- useState
- useRef
- useEffect
- Custom hooks
- Reusable hooks
- Motivation, why to use Redux?
- Core Concepts
- Redux thunk vs redux saga
- PureRenderMixin
- Expensive DOM manipulations
- Performance tools
- Optimizing components with React.memo