Private Note or Documents
Why Backend and DevOps Roles May Become One in the Future | HackerNoon
How to Put GitHub on Resume in 2023: Complete Guide & Tips
Job
prone to errors
backend engineer infrastructure
Vocabulary:
-
experienced
-
precedence
-
promiscuous
-
reimburse
-
homogenous
-
monotonous
-
snoop
Terminology
Tech Vocabulary
- trivial program
- trial program
- experienced engineer
- division and multiplication take precedence
Mathematics Vocabulary
- associative
- commutative a × b = b × a a + b = b + a a ^ b = b ^ a
- division
/
: divide%
: mod dividend / divisor = quotient dividend % divisor = remainder dividend / divisor = (quotient) R (remainder) : dividend divided by the divisor has a quotient and a remainder 5 / 3 = 1 R 2: 5 divided by 3 has a quotient of 1 and a remainder of 2
Here's a category of topics commonly used in backend software engineering:
Backend software engineering interviews often cover a broad range of topics, including data structures, algorithms, system design, database management, networking, and more. Here's a categorization of some common terms and topics:
-
Data Structures:
- Arrays
- Linked Lists
- Stacks
- Queues
- Trees (Binary Trees, Binary Search Trees, AVL Trees, Red-Black Trees, etc.)
- Graphs
- Hash Tables
- Heaps
-
Algorithms:
- Searching algorithms (Binary search, Linear search, Depth-first search, Breadth-first search)
- Sorting algorithms (Quick sort, Merge sort, Bubble sort, Insertion sort)
- Dynamic programming
- Greedy algorithms
- Recursion
- Graph algorithms (Shortest path algorithms like Dijkstra's, Minimum Spanning Tree algorithms like Prim's and Kruskal's, etc.)
-
Database Management:
- Relational databases (SQL)
- Non-relational databases (NoSQL)
- ACID properties, transactions, and concurrency control
- Indexing, normalization and denormalization
- Query optimization and performance tuning
- Database Migration
-
Architectural:
- Microservices
-
Security::
- Authentication and authorization
- Encryption
- Man-in-the-middle attacks
-
System Design:
- Scalability
- Load balancing
- Caching strategies
- Database sharding
- Replication and fault tolerance
- Microservices architecture
- API design
- Message queues and asynchronous processing
- Proxy servers
-
Server:
- HTTP protocol, RESTful APIs
- Web server concepts (e.g., Nginx, Apache)
- Authentication and authorization (e.g., OAuth, JWT)
- Session management and cookies
- Web security best practices (e.g., SQL injection, XSS)
- ORM
- active record
- data mapper
-
Concurrency and Parallelism:
- Multi-threading and synchronization
- Locking mechanisms (e.g., mutexes, semaphores)
- Concurrent data structures (e.g., concurrent hash maps, queues)
- Parallel processing frameworks (e.g., MapReduce)
-
Programming Languages and Frameworks:
- Proficiency in at least one backend programming language (e.g., Java, Python, Go, Node.js)
- Frameworks and libraries commonly used in backend development (e.g., Spring, Django, Express.js)
- Understanding of asynchronous programming and event-driven architectures
-
Python:
- Data Structure
- list
append(v)
,pop()
: O(1)insert(0, v)
,pop(0)
: O(n)
- dict
- dequeue
append(v)
,pop()
: O(1)appendleft(v)
=insert(0, v)
,popleft()
=pop(0)
: O(1)
- list
- Typing
- Interactive shells
- rich
- IPython
- bpython
- ptpython
- Data Structure
-
DevOps:
- Cloud platforms (e.g., AWS, Azure, Google Cloud Platform)
- CI/CD pipelines
- Containerization (e.g., Docker, Kubernetes)
- Docker
- Dev container
- Docker
- Monitoring and logging solutions (e.g., Prometheus, ELK stack)
-
Testing:
- Unit testing
- Integration testing
- End-to-end testing
-
Debugging:
- Debugging techniques and tools (e.g., logging, debugginggers)
- Performance profiling and optimization
-
Software Development Practices:
- Version control systems (e.g., Git)
- Continuous integration and continuous deployment (CI/CD)
- Agile methodologies (e.g., Scrum, Kanban)
- Code review processes and best practices
-
Cloud Computing and DevOps:
- Cloud platforms (e.g., AWS, Azure, Google Cloud Platform)
- Infrastructure as Code (IaC) tools (e.g., Terraform, CloudFormation)
- Containerization (e.g., Docker, Kubernetes)
- Monitoring and logging solutions (e.g., Prometheus, ELK stack)
-
Other Topics:
- Design patterns (e.g., singleton, factory, observer)
- Object-oriented design principles
- Memory management and garbage collection
- Networking concepts (e.g., TCP/IP, DNS)
-
Soft Skills:
- Collaboration
- Problem-solving
- Communication skills
- Teamwork
Preparation in these areas can significantly enhance your performance in backend software engineering interviews.
Tech interview
https://www.techinterviewhandbook.org/
back-end developer interview questions and answers
https://www.turing.com/interview-questions/back-end
https://www.interviewkickstart.com/interview-questions/back-end-developer-interview-questions
https://blog.hubspot.com/website/backend-interview-questions
Is C good choice of language for the interview?
https://www.linkedin.com/pulse/c-vs-cjavapython-interviews-tushar-dwivedi
Moving company
- Finding a cheap yet reliable shipping or moving company can be challenging.
- Moving from Hong Kong to Canada: Any Recommendations for the Best Affordable Moving Company?
relocation from Hong Kong to Canada removals to Canada Organization and a good moving plan are indispensable parts of every move
https://www.transworldrelocation.com/zh-hk/services https://www.sevenseasworldwide.com/ https://www.crownrelo.com/hong-kong/zh-hk/get-a-quote
GPT 3.5 vs GPT 4.0
3.5 is used for general purpose, creating an essay. 4.0 is more analytical and more logical and more precise.
I use 3.5 to create general letters, essays, posts, etc. 4.0 is more for deeper questions & outputs.
3.5 is much faster than 4.0.
In-Depth Comparison: GPT-4 vs GPT-3.5 – KanariesDiscord
foremost
C is a good language to learn for a career.
. It is a foundational/primitive language that is still widely used in areas such as operating system, compiler/interpreter and low-level libraries.
Thanks for listening to my rant.
Tech
https://youtube.com/clip/UgkxedRh7NJJliritCfi-oVUzunSBZavWahd?si=x2W5qQvvHp_IvrR1