怎么用C++做后台开发技术
C++做推荐系统、搜索引擎的后台开发,那么你知道如何做后台开发技术呢?下面由学习啦小编为大家整理的C++后台开发,希望大家喜欢!
C++后台开发
1. C++基本的认识,问得比较多的是指针、多态(虚函数表、内存 layout等)、作用域、内存的管理等等。(通常只有宣称熟悉 C++或者简历中有很多 C++项目的人,我才会把这个当做一个重要的方面考察;对语言细节研究不深入,或者一直用其它语言比如 go/java 之类的,那也无妨,这块可以稍微放宽要求。)
2. 算法和数据结构,数据结构我比较关注哈希、优先级队列等,算法则是字符串处理、简单的 DFS、BFS、动态规划都有
3. 系统的知识:进程、线程、协程、锁的使用、消息队列、共享内存、还有网络协议、epoll、select等。顺便会考察一些处理问题的基本思路,比如通过哈希来划分、通过队列来序列化操作等等。此外,往往很多同学的项目经历中,有很多点可以结合系统的知识来考察,看看是否真的做过项目。比如我就碰到过自己写过 web server 的,搞过 key-value 数据库的,声称读过 redis 源码的,这些很适合配合系统知识考察,确认是不是真的做过这些项目,理解如何。
C++后台开发技术
1.c++的基本知识,主要是一些c++特性的东西,问的比较多的是c++多态、虚函数,特别喜欢问vector与List的原理。
2.多线程相关,多线程主要问高并发、通信,然后还有锁相关的东西,
3.数据库方面的知识,数据库主要是一些常用sql的编写,怎样提高数据库的性能,mysql与oralce的特性等。
4.网络通信,主要是TCP/IP和Http,TCP/IP就是几次握手,可能会手写简单的客户端服务端的实现,Http主要问一些Http协议中的东西,比如Http的格式,最喜欢问get和post的区别
5.linux的会问一些常用命令,比如查看进程、查看网络、权限修改等等,然后就是gcc相关的东西,可能还会问一些c++在linux与windows开发下有哪些不同,需要注意什么。
C++后台方向开发
1. vector增长模式
2. 虚函数表
3. 函数指针复杂形式的识别
4. HASH的设计
5. 几个常用工具的使用,gdb,gcc,git