Skip to main content

Private Note or Documents

· 5 min read

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

Arithmetic

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:

  1. Data Structures:

    • Arrays
    • Linked Lists
    • Stacks
    • Queues
    • Trees (Binary Trees, Binary Search Trees, AVL Trees, Red-Black Trees, etc.)
    • Graphs
    • Hash Tables
    • Heaps
  2. 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.)
  3. 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
  4. Architectural:

    • Microservices
  5. Security::

    • Authentication and authorization
    • Encryption
    • Man-in-the-middle attacks
  6. System Design:

    • Scalability
    • Load balancing
    • Caching strategies
    • Database sharding
    • Replication and fault tolerance
    • Microservices architecture
    • API design
    • Message queues and asynchronous processing
    • Proxy servers
  7. 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
  8. 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)
  9. 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
  10. 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)
    • Typing
    • Interactive shells
      • rich
      • IPython
      • bpython
      • ptpython
  11. DevOps:

    • Cloud platforms (e.g., AWS, Azure, Google Cloud Platform)
    • CI/CD pipelines
    • Containerization (e.g., Docker, Kubernetes)
      • Docker
        • Dev container
    • Monitoring and logging solutions (e.g., Prometheus, ELK stack)
  12. Testing:

    • Unit testing
    • Integration testing
    • End-to-end testing
  13. Debugging:

    • Debugging techniques and tools (e.g., logging, debugginggers)
    • Performance profiling and optimization
  14. 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
  15. 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)
  16. 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)
  17. 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://leetcode.com/discuss/general-discussion/536401/is-c-good-choice-of-language-to-have-a-technical-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.

Ben Hoyt’s Resume/CV

Tech

https://youtube.com/clip/UgkxedRh7NJJliritCfi-oVUzunSBZavWahd?si=x2W5qQvvHp_IvrR1