Home  >  Q&A  >  body text

服务器端 - C++后台开发面试一般都考察什么?

对于应届生来说,C++后台开发除了考察算法外,一般还会考察什么?比如linux方面,网络方面?
会考察shell的语法吗?请详细说说,谢谢

黄舟黄舟2765 days ago724

reply all(6)I'll reply

  • 巴扎黑

    巴扎黑2017-04-17 12:07:35

    • C/C++ basics: memory alignment, endianness, pointers, scope, usage and pitfalls of common containers in STL. . .

    • Data structure algorithms: various linked lists, trees, hash tables, addition, deletion, modification, sorting, reversal, various sequences. . .

    • Design patterns: Just be familiar with the commonly used ones, but you need to be clear about the differences and applicable scenarios of similar patterns

    • Network programming: TCP, UDP, HTTP(S), three-way handshake, four-way breakup, state transition diagram, protocol design. . .

    • Multi-threaded programming: comparison between threads and processes, communication, synchronization, and comparison of various locks. . .

    • Public basic services: usage and comparison of various open source and closed source basic services and tools, such as
      Redis, MongoDB, Kafka, Thrift, Hadoop, MySQL, Oracle, Postgres, ICE, Protobuf, Nginx , Apache, LVS, Keepalived, HAProxy. . .

    • Various Linux tools: commonly used network tools, various troubleshooting, debug tools, and various security tools. . .

    • Various scripts: Shell, Python, Perl. . .

    • Architecture design: various high-availability, distributed, clustering solutions, tools, principles, various optimization solutions, various tracking solutions, automatic deployment and upgrades, and various security solutions. . .

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-17 12:07:35

    C++ language basics (STL required, Boost extra points)
    Basic Linux knowledge, you may ask about Shell, Vim, etc.
    Computer network knowledge
    etc.

    reply
    0
  • PHPz

    PHPz2017-04-17 12:07:35

    We will be asked to write an HTML Parser on the computer, input an HTML file, and output a tag tree.

    Then some candidates write things that cannot be compiled, some candidates write things that can only process standard XML, some candidates write things with built-in memory leaks, and some candidates ask us what a tree means. @_@

    reply
    0
  • 阿神

    阿神2017-04-17 12:07:35

    1) Compilation principles
    2) Effective C++
    3) OS
    4) Algorithms + data structures
    5) For other scalable knowledge, you can check out CSAPP if conditions permit

    reply
    0
  • 迷茫

    迷茫2017-04-17 12:07:35

    It depends on the position. If it is a development position in a Linux environment, the shell will simply ask
    As a fresh graduate, the basics of algorithms, data structures, and operating systems should be good, and more importantly, the ability to self-study

    reply
    0
  • 黄舟

    黄舟2017-04-17 12:07:35

    First is the basic inspection:
    At the operating system level, knowledge about deadlocks and process threads
    Knowledge about file systems, architecture, storage and cache, etc.
    In short, the more solid the foundation, the more popular it is

    You can read "Self-cultivation of Programmers". Dynamic linking and static linking are extremely important for C++ programmers
    This is internal strength

    reply
    0
  • Cancelreply