C++ 后台开发面试时一般考察什么?

2023-12-05

一、自我介绍

先说下我的个人经历,我刚工作的前几年做股票、期货、现货的交易系统,后来去二三四五做战略软件,再后来去声网做信令,再后来去了携程旅行网做基础框架业务,用的都是 C/C++,如今在某大厂,畅销书《 C++ 服务器开发精髓 》一书作者,参与过很多大型商业 C++ 系统的架构与设计。

二、C++ 后台考察什么

总体来说,C++面试中,对这门语言本身内容的考察并不多,更多考察的是 C++ 背后的技术栈,更多倾向考察一些原理性和基础性的问题,高级岗位会考察一些工作经历和经验。

总结起来一句话:初级看基础,高级看经验。

2.1 C/C++ 语言基础

对于初级岗位如果在基础问题上答不好,面试挂的几率就比较大。举个例子,对于一个初级岗位来说,假设有如下面试题:

//下列代码输出结果是啥?
#include <iostream>

int main()
{
    char p = 'A';
    std::cout << sizeof(p) << std::endl;
    std::cout << sizeof(&p) << std::endl;

    return 0;
}

第一个输出是一个 char 的大小 1,第二个是输出内存地址的长度,在 32 位系统上输出 4,在 64 位系统上输出 8。

这类是非常基础的 C/C++ 问题,初级面试会有非常多的这样的面试题,如果答得不好,大小公司面试基本都不会通过。C/C++ 程序如果对这些基础原理不清楚,那写出来的程序绝对是手拿菜刀砍电线,一路火花带闪电。

再例如,C++ 虚函数这是面试初、中级 C++ 职位一个概率95%以上的面试题。一般有以下几种问法:

  1. 在有继承关系的父子类中,构建和析构一个子类对象时,父子构造函数和析构函数的执行顺序分别是怎样的?

  2. 在有继承关系的类体系中,父类的构造函数和析构函数一定要申明为 virtual 吗?如果不申明为 virtual 会怎样?

  3. 什么是 C++ 多态?C++ 多态的实现原理是什么?

  4. 什么是虚函数?虚函数的实现原理是什么?

  5. 什么是虚表?虚表的内存结构布局如何?虚表的第一项(或第二项)是什么?

  6. 菱形继承(类D同时继承B和C,B和C又继承自A)体系下,虚表在各个类中的布局如何?如果类B和类C同时有一个成员变了m,m如何在D对象的内存地址上分布的?是否会相互覆盖?

部分同学对以上问题总是搞不清楚,但是又不知道如何学习,于是从网上找各种文章来学习,造成这块的知识非常零碎,无法构成体系,其实这与其在网上花费大量时间,不如系统地看一下侯捷老师翻译的《深度探索 C++ 对象模型》一书。

(链接: https://pan.baidu.com/s/1SOGJTy_k7qyxKmzqX9WzMw 提取码: 2i98 )

另外,时至今日,各大企业虽然项目中未必用到 C++11/14/17 常用的语言特性和类库,但是面试还是对这些有一定的要求的,我去声网面试的时候,基本上在这块被问的个底朝天。

这里简单地列一下需要掌握的一些内容:

  • 统一的类成员初始化语法与 std::initializer_list<T>

  • 注解标签(attributes)

  • final/override/=default/=delete 语法

  • auto 关键字

  • Range-based 循环语法

  • 结构化绑定

  • stl 容器新增的实用方法

  • std::thread

  • 线程局部存储 thread_local

  • 线程同步原语 std::mutex、std::condition_variable 等

  • 原子操作类

  • 智能指针类

  • std::bind/std::function

C++11/14 网上的资料已经很多了,C++17 的资料不多,重头戏还是 C++11 引入的各种实用特性,这就给读者推荐一本我读过的:

  • 《深入理解 C++11:C++11 新特性解析与应用》

  • 《深入应用 C++11:代码优化与工程级应用》

  • 《C++17 完全指南》

  • 《Cpp 17 in Detail》

链接: https://pan.baidu.com/s/1xVuBcfm0qMvhHsMSAXcA4w 提取码: g4iy

2.2 算法与数据结构基础

对于一些名不见传的小公司来说,算法和数据结构可能只会象征性地考察一下,或者不考察,但是对于有一定规模的公司或者像 BAT 这样的大厂,是必考项目,且对社招人士和应届生的要求是不一样的。下面根据我当面试官面试别人和找工作被别人面试经验来谈一谈。

先说考察的内容,除了一些特殊的岗位,常见的算法和数据结构面试问题有如下:

  1. 排序(常考的排序按频率考排序为:快速排序 > 冒泡排序 > 归并排序 > 桶排序)

一般对于对算法基础有要求的公司,如果你是应届生或者工作经验在一至三年内,以上算法如果写不出来,给面试官的影响会非常不好,甚至直接被 pass 掉。对于工作三年以上的社会人士,如果写不出来,但是能分析出其算法复杂度、最好和最坏的情况下的复杂度,说出算法大致原理,在多数面试官面前也可以过的。注意,如果你是学生,写不出来或者写的不对,基本上面试过不了。

  1. 二分查找 二分查找的算法尽量要求写出来。当然,大多数面试官并不会直接问你二分查找,而是结合具体的场景,例如如何求一个数的平方根,这个时候你要能想到是二分查找。我在2017年年底,面试agora时,面试官问了一个问题:如何从所有很多的ip地址中快速找个某个ip地址。

  2. 链表 无论是应届生还是工作年限不长的社会人士,琏表常见的操作一定要熟练写出来,如链表的查找、定位、反转、连接等等。还有一些经典的问题也经常被问到,如两个链表如何判断有环(我在2017年面试饿了么二面、上海黄金交易所一面被问过)。链表的问题一般不难,但是链表的问题存在非常多的“坑”,如很多人不注意边界检查、空链表、返回一个链表的函数应该返回链表的头指针等等。

  3. 队列与栈 对于应届生来说一般这一类问的比较少,但是对于社会人士尤其是中高级岗位开发,会结合相关的问题问的比较多,例如让面试者利用队列写一个多线程下的生产者和消费者程序,全面考察的多线程的资源同步与竞态问题(下文介绍多线程面试题时详细地介绍)。 栈一般对于基础要求高的面试,会结合函数调用实现来问。即函数如何实现的,包括函数的调用的几种常见调用方式、参数的入栈顺序、内存栈在地址从高向低扩展、栈帧指针和栈顶指针的位置、函数内局部变量在栈中的内存分布、函数调用结束后,调用者和被调用者谁和如何清理栈等等。某年面试京东一基础部门,面试官让写从0加到100这样一个求和算法,然后写其汇编代码。

  4. 哈希表 哈希表是考察最多的数据结构之一。常见的问题有哈希冲突的检测、让面试者写一个哈希插入函数等等。基本上一场面试下来不考察红黑树基本上就会问哈希表,而且问题可浅可深。我印象比较深刻的是,当年面试百度广告推荐部门时,二面问的一些关于哈希表的问题。当时面试官时先问的链表,接着问的哈希冲突的解决方案,后来让写一个哈希插入算法,这里需要注意的是,你的算法中插入的元素一定要是通用元素,所以对于 C++ 或者 Java 语言,一定要使用模板这一类参数作为哈希插入算法的对象。然后,就是哈希表中多个元素冲突时,某个位置的元素使用链表往后穿成一串的方案。最终考察 linux 下 malloc(下面的ptmalloc) 函数在频繁调用造成的内存碎片问题,以及开源方案解决方案 tcmalloc 和 jemalloc。总体下来,面试官是一步步引导你深入。(有兴趣的读者可以自行搜索,网上有很多相关资料)

  5. 树 面试高频的树是红黑树,也有一部分是B树(B+树)。 红黑树一般的问的深浅不一,大多数面试官只要能说出红黑树的概念、左旋右旋的方式、分析出查找和插入的平均算法复杂度和最好最坏时的算法复杂度,并不要写面试者写出具体代码实现。一般 C++ 面试问 stl 的map,java 面试问 TreeMap 基本上就等于开始问你红黑树了,要有心里准备。笔者曾经面试爱奇艺被问过红黑树。 B树一般不会直接问,问的最多的形式是通过问 MySQL 索引实现原理(数据库知识点将在下文中讨论)。笔者面试腾讯看点部门二面被问到过。

  6. 图 图的问题就我个人面试从来没遇到过,不过据我某位哥哥所说,他在进三星电子之前有一道面试题就是深度优先和广度优先问题。

  7. 其他的一些算法 如A*寻路、霍夫曼编码也偶尔会在某一个领域的公司的面试中被问到,如宝开(《植物大战僵尸》的母公司, 在上海人民广场附近有分公司)。

推荐一下《算法(第四版)》和《剑指 offer》这两本书:

链接: https://pan.baidu.com/s/1Tluq13Oiu-hG02Ypwrrz1A 提取码: v5ie

链接: https://pan.baidu.com/s/1U10lMSlozIzVrWbi-2iO3g 提取码: 9cmn

注意:在考察算法和数据结构的同时可能会考察编码基本功

编码基本功不仅包括编码风格、计算机英语水平、调试能力等,还包括你对细节的掌握和易错点理解,如有意识地对边界条件的检查和非法值的过滤。请读者看以下的代码执行结果是什么?(我去北京中关村的鼎普面试的问题)

for(char i = 0; i < 256; ++i) 
{
    printf("%d\n", i);
}

例如,我早些年去京东面试,让我写一个 memmov 函数,这个题目考查点在于 memmov 函数与 memcpy 函数的区别,这两者对于源地址与目标地址内存有重叠的这一情况的处理方式是不一样的。

一些公司干脆让你实现strcpy或strcpy函数,这个函数写出来没啥难度,但是除了边界条件需要检查以外,还有一个容易被忽视的地方即其返回值一定要是目标内存地址,以支持所谓的链式拷贝。即:

strcpy(dest3, strcpy(dest2, strcpy(dest1, src1)));

去掌门科技(无线万能钥匙那一家)面试是,让实现 atoi 函数 这个函数的签名如下:

 int atoi(const char* p);  

容易疏忽的地方有如下几点:

  • 小数点问题,如数字 0.123 和 .123 都是合法的;

  • 正负号问题,如 +123 和 -123;

  • 考虑如何识别第一个非法字符问题,如 123Z89,则应转换成应该 123。

2.3 熟悉多线程开发

现如今的多核CPU早已经是司空见惯,而多线程编程早已经是“飞入寻常百姓家”。对于 C++ 后台开发这样的岗位,如果面试者不熟悉多线程编程,那么一般会被直接 pass 掉。

这里说的“熟悉多线程编程”到底熟悉到什么程度呢?一般包括:知道何种场合下需要新建新的线程、线程如何创建和等待、线程与进程的关系、线程局部存储(TLS 或者叫 thread local)、多线程访问资源产生竞态的原因和解决方案等等、熟练使用所在操作系统平台提供的线程同步的各种原语。

对于 linux 开发者,你需要熟练使用 mutex、semphore、condition_variable、read-write-lock 等操作系统 API 和这些线程同步原语的区别和使用场景。

Linux 多线程相关的知识可以看游双的 《Linux 高性能服务器编程》相关章节

(链接: https://pan.baidu.com/s/1f9IErU5JP2sw-5Crha9vzg 提取码: je7g)

2.4 网络编程

网络编程这一块,对于应届生或者初级岗位一般只会问一些基础网络通信原理(如三次握手和四次挥手)的socket 基础 API 的使用,客户端与服务器端网络通信的流程(回答 【客户端创建socket -> 连接server ->收发数据;服务器端创建socket -> 绑定ip和端口号 -> 启动侦听 ->接受客户端连接 ->与客户端通信收发数据】即可)、TCP 与 UDP的区别等等。

对于工作经验三年以内的社会人士或者一些中级面试者一般会问一些稍微重难点问题,如 select 函数的用法,非阻塞 connect 函数的写法,epoll 的水平和边缘模式、阻塞socket与非阻塞socket的区别、send/recv函数的返回值情形、reuse_addr选项等等。Windows 平台可能还会问 WSAEventSelect 和 WSAAsyncSelect 函数的用法、完成端口(IOCP模型)。

对于三年以上尤其是“号称”自己设计过服务器、看过开源网络通信库代码的面试者,面试官一般会深入问一些问题,这类问题要么是实际项目中常见的难题或者网络通信细节,根据我的经验,一般有这样一些问题:

  1. nagle算法;

  2. keepalive选项;

  3. Linger选项;

  4. 对于某一端出现大量CLOSE_WAIT 或者 TIME_WAIT如何解决;

  5. 通讯协议如何设计或如何解决数据包的粘包与分片问题;

  6. 心跳机制如何设计;(可能不会直接问问题本身,如问如何检查死链)

  7. 断线重连机制如何设计;

  8. 对 IO Multiplexing 技术的理解;

  9. 收发数据包正确的方式,收发缓冲区如何设计;

  10. 优雅关闭;

  11. 定时器如何设计;

  12. epoll 的实现原理。

举个例子,让读者感受一下,笔者曾去BiliBili被问过这样一个问题:如果A机器与B机器网络 connect 成功后从未互发过数据,此时其中一机器突然断电,则另外一台机器与断电的机器之间的网络连接处于哪种状态?

我在知乎上也做过一个关于这方面的总结性分享,有兴趣的知友可以戳这里:

网络编程对于已经工作了的或者时间不是很充裕的同学来说,如果想入门或者上手,不建议去读一些大部头的图书,容易坚持不下,最后放弃。

建议找一些通俗易懂又可快速实践的书,这里推荐韩国人尹圣雨写的《TCP/IP 网络编程》这本书,这本书尤其适合非科班出身或者网络编程小白的同学,常见的 socket API 以及网络通信模式都有介绍,且同时包括 Linux 和 Windows 两个操作系统平台。

TCP/IP 网络编程

链接: https://pan.baidu.com/s/1ho3e1POq5LzEQWp0Gm2Nsg 提取码: sp8p

我刚工作那会儿,做股票行情服务器的底层服务开发,需要熟悉网络编程,那会儿天天下班抱着这本书看,建议小白把书中的网络通信代码都自己敲一遍。

我们面试一些同学时,发现很多同学写的网络通信程序在本机测试没问题,一拿到局域网或者测试环境就不能正常工作,这本书会告诉你答案。

2.5 数据库

数据库知识一般在大的互联网企业对应届生不做硬性要求,对于小的互联网企业或社会人士一般有一定的要求。其要求一般包括:

  1. 熟悉基本 SQL 操作 包括增删改查(insert、delete、update、select语句),排序 order,条件查询(where 子语句),限制查询结果数量(LIMIT语句)等

  2. 稍微高级一点的 SQL 操作(如Group by,in,join,left join,多表联合查询,别名的使用,select 子语句等)

  3. 索引的概念、索引的原理、索引的创建技巧

  4. 数据库本身的操作,建库建表,数据的导入导出

  5. 数据库用户权限控制(权限机制)

  6. MySQL的两种数据库引擎的区别

  7. SQL 优化技巧

以上属于对开发的基本的数据库知识要求,你可以找一本相关入门级的数据库图书学习即可。

高级开发除了以上要求还要熟悉高可用 MySQL、主从同步、读写分离、分表分库等技术,这些技术的细节一定要清楚,它们是你成为技术专家或者高级架构的必备知识。我们在实际面试时,在讨论高可用服务服务方案时,很多面试者也会和我们讨论到这些技术,但是不少面试者只知道这些技术的大致思想,细节往往说不清楚,细节不会就意味着你的高可用方案无法落地,企业需要可以落地的方案。

这些技术我首推《高性能 MySQL》这本书,这本书高级开发者一定要通读的,另外还有 2 本非常好的图书也推荐一下:一本是《MySQL 排错指南》,读完这本书以后,你会对整个“数据库世界”充满了清晰的认识;另外一本是《数据库索引设计与优化》,这本书读起来非常舒服,尤其是对于喜欢算法和数据结构的同学来说。

网上也有同学整理分享出来,下载链接(喜欢记得买正版哦):

链接: https://pan.baidu.com/s/19vlf1aYvweXwkEpOtDAxhg 提取码: mwfc

2.6 内存数据库/缓存技术

时下以内存数据库为技术实现的缓存技术被广泛地应用于各个大小应用,所以缓存技术通常是基本要求,这里通常指的就是 Redis。

  • 第一层面一般是对 Redis 的基础用法的考察 如考察 redis 支持的基础数据类型、redis的数据持久化、事务等。

  • 第二层面不仅考察 redis 的基础用法,还会深入到 Redis 源码层面上,如 Redis 的网络通信模型、Redis 各种数据结构的实现等等。

  • Redis 高可用、RDB/AOF 存储、cluster、哨兵策略等。

无论是从找工作应付面试还是从提高技术的角度,Redis 是一个非常值得学习的开源软件,希望广大读者有意识地去了解、学习它。

2.7 项目经验

除了社会招聘和一些小型的企业,一般的大型互联网公司对应届生不会做过多的项目经验要求,而是更希望应届生算法与数据结构等基础扎实、动手实践能力强即可。

对于一般的小公司,对于应届生会要求其至少熟练使用一门编程语言以及相应的开发工具,号称熟悉 Linux C++ 开发的面试者,不熟悉 GDB 调试基本上不是真正的熟悉 Linux C++ 开发,基本是说不过去的。

这里给一些学历不算好,学校不是非常有名,尤其是二本以下的广大想进入 IT 行业的同学一个建议,在大学期间除了要学好计算机专业基础知识以外,一定要熟练使用一门编程语言以及相应的开发工具。

关于项目经验,许多面试者认为一定要是自己参与的项目,其实你的项目经验也可以来源于你学习和阅读他人源码或开源软件的源码,如果你能理解并掌握这些开源软件中的思想和技术,在面试的时候能够与面试官侃侃而谈,面试官也会非常满意的。

我去喜马拉雅听书面试的时候,整个面试过程下来,就聊了 Redis,从 Redis 应用到源码。

很多同学可能纠结大学或者研究生期间要不要跟着导师做一些项目。当然,如果这些项目是课程要求,那么你必须得参加;如果这些项目是可以选择性的,尤其是一些仅仅拿着第三方的库进行所谓的包装和加工,那么建议可以少参加一些。

三、推荐的一些学习资料

关于 C++ 后台开发,我在知乎上专门开办了一个 live 进行总结,有兴趣的读者戳这里:

如何求职 C++ 后端开发岗位 - 知乎 Live

上文中提到的技术栈和推荐的书单在这里,这是我精心整理的:

计算机必看经典书籍(含下载方式)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 后台开发面试时一般考察什么? 的相关文章

  • Spring Data JPA:查询如何返回非实体对象或对象列表?

    我在我的项目中使用 Spring Data JPA 我正在演奏数百万张唱片 我有一个要求 我必须获取各种表的数据并构建一个对象 然后将其绘制在 UI 上 现在如何实现我的 Spring 数据存储库 我读到它可以通过命名本机查询来实现 如果指
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • Play.application() 的替代方案是什么

    我是 Play 框架的新手 我想读取conf文件夹中的一个文件 所以我用了Play application classloader getResources Data json nextElement getFile 但我知道 play P
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • Karaf / Maven - 无法解决:缺少需求 osgi.wiring.package

    我无法在 Karaf 版本 3 0 1 中启动捆绑包 该包是使用 Maven 构建的并导入gson http mvnrepository com artifact com google code gson gson 2 3 1 我按照要求将
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 让网络摄像头在 OpenCV 中工作

    我正在尝试让我的网络摄像头在 Windows 7 64 位中的 OpenCV 版本 2 2 中捕获视频 但是 我遇到了一些困难 OpenCV 附带的示例二进制文件都无法检测到我的网络摄像头 最近我发现这篇文章表明答案在于重新编译一个文件 o
  • 我们可以通过指针来改变const定义的对象的值吗?

    include
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • 读取依赖步行者输出

    I am having some problems using one of the Dlls in my application and I ran dependency walker on it i am not sure how to
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • JMS 中的 MessageListener 和 Consumer 有什么区别?

    我是新来的JMS 据我了解Consumers能够从队列 主题中挑选消息 那么为什么你需要一个MessageListener因为Consumers会知道他们什么时候收到消息吗 这样的实际用途是什么MessageListener 编辑 来自Me
  • 在 C# 的 WebAPI 中的 ApiController 上使用“传输编码:分块”提供数据

    我需要服务分块传输使用编码数据API控制器 因为我无权访问HttpContext or the Http请求 我有点不知道在哪里写入响应以及在哪里刷新它 设置如下 public class MyController ApiControlle
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向

随机推荐

  • 基于vue+nodejs高校大学生奖学金评定系统72961

    本基于vue框架的奖学金评定系统管理是根据当前我国教学的大环境相关的内容实际情况开发的 在系统语言选择上我们使用的nodejs语言 数据库是小巧灵活的MySQL数据库 本系统的开发可以极大的提高奖学金评定方面的管理 主要包括 1 辅导员在全
  • 计算机毕业设计选题推荐-SpringBoot 高校学科竞赛平台

    作者主页 疯狂行者 java领域优质创作者 专注于Java技术领域技术交流 文末获取源码 精彩专栏推荐订阅 在 下方专栏 Java精彩实战项目案例 Java精彩新手项目案例 Python精彩新手项目案例 文章目录 Java精彩实战项目案例
  • python+django多商家美食商城网站系统39949

    采用B S结构 使得系统更加容易维护 系统的设计与实现主要实现角色有管理员和用户 管理员在后台管理用户模块 用户表模块 收藏表模块 美食资讯模块 留言板模块 美食信息模块 美食类型模块 卖家模块 购买订单模块 美食信息评论表模块 配置文件模
  • python+django开药处方药品进销存管理系统0m3u8

    系统的基本要求 1 功能要求 管理人员可以管理自己的个人中心 对公告信息 医生 患者 药品信息 开药记录 入库记录 出药记录和药品盘点等进行管理 3 2 性能 可以准确无误的在不同的操作系统中登录到用户或者管理员的相应界面进行轻松的操作 4
  • java公司仓库物资销售库存管理系统设计springboot+vue

    本毕业设计主要拟开发一个基于Web的敏捷工贸公司销售管理系统设计 系统的功能主要有入库管理 出库管理 数据报表管理 物资管理 系统设置管理 库存管理 单据填开管理 其重点功能是入库管理 出库管理 物资管理及库存管理 入库管理 入库管理是仓库
  • 有一定基础的 C++ 学习者该如何学习 Windows 编程?

    这篇文章是回答一位知友的提问 有一定基础是指对大学教材级别的C 知识有了解 然而只停留在黑框程序的编写和阅读上 手头有一个使用VS2010开发的windows工程想要读懂 这是契机 不是原因 长久以来的困惑使得我希望找到一本适合初学者的书
  • java企业员工出差旅团建服务信息管理系统springboot+vue

    差旅服务信息管理系统根据实际情况分为前后台两部分 前台部分主要是让用户使用的 包括用户的注册登录 首页 交通工具 景点信息 餐饮信息 酒店信息 公告信息 后台管等功能 后台部分主要给管理员使用的 主要功能包括系统首页 个人中心 用户管理 工
  • java智能社区小区管理系统的设计与实现springboot+vue

    一 设计目的及意义 随着经济的发展 人们生活水平的提高 工作和日常事务繁忙 人们对服务就有了更深入 更精细的要求 而计算机技术的迅猛发展 使得这种需求变为可能 传统的社区服务业也与互联网技术结合更加密切 这是社会发展的必然趋势 为解决社区中
  • 初学C语言,有什么好书推荐?

    时至今日 很多大学的编程语言入门课已经不再教授 C 语言了 但是作为一位过来人的老学长 我想对后来的学弟学妹们说 无论你是科班还是非科班 建议你一定要学好 C 语言 它应该作为你必须掌握好的语言 你要熟悉 C 语言的基本语法 包括 顺序 条
  • 非科班出身,如何成为程序员?

    我姓方 89 年出生 程序员一枚 坐标上海 14 年毕业 大学学的是地理 典型的非科班转行成程序员 并完全靠的是自己的努力转行成功 一 我的故事 我的第一家公司做 Windows C C 开发 第二家公司做 Linux C 开发 第三家公司
  • java基于springboot+Vue的学生量化积分考核管理系统

    学生量化积分管理系统发展上国内外研究的现状是 国际上大部分学校都采取有量化管理制度 特别是一些发达国家的高校对量化管理制度划分较为细致 使得学校对学生进行德育教育能够有比较系统化的管理方式 目前 一个完整的量化积分管理系统 对学生量化积分进
  • nodejs+vue+微信小程序+python+PHP电费管理系统的设计与实现-毕业设计推荐

    伴随着信息时代的到来 以及不断发展起来的微电子技术 这些都为水费管理带来了很好的发展条件 同时 水费管理的范围不断增大 这就需要有一种既能使用又能使用的 便于使用的 便于使用的系统来对其进行管理 在目前这种大环境下 收费工作将会得到很大的发
  • nodejs微信小程序+python+PHP问卷调查系统的设计与实现-计算机毕业设计推荐

    目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1 1背景及意义 1 1 2 国内外研究概况 1 1 3 研究的内容 1 第2章 相关技术 3 2 1 nodejs简介 4 2 2 express框架介绍 6 2
  • AI视觉字谜爆火!梦露转180°秒变爱因斯坦,英伟达高级AI科学家:近期最酷的扩散模型...

    克雷西 萧箫 发自 凹非寺 量子位 公众号 QbitAI AI画的玛丽莲 梦露 倒转180 后 竟然变成了爱因斯坦 这是最近在社交媒体上爆火的扩散模型视错觉画 随便给AI两组不同的提示词 它都能给你画出来 哪怕是 截然不同 的对象也可以 例
  • java基于SpringBoot_vue+elementui的考研资料预订交流平台

    考研交流平台根据实际情况分为前后台两部分 前台部分主要是让用户使用的 包括用户的注册登录 首页 考研指南 考研资料 考研交流 考研资讯 后台管理等功能 后台部分主要给管理员使用的 主要功能包括首页 个人中心 用户管理 资料分类管理 考研指南
  • 计算机毕业设计选题推荐-SpringBoot 足球青训俱乐部管理后台系统

    作者主页 疯狂行者 java领域优质创作者 专注于Java技术领域技术交流 文末获取源码 精彩专栏推荐订阅 在 下方专栏 Java精彩实战项目案例 Java精彩新手项目案例 Python精彩新手项目案例 文章目录 Java精彩实战项目案例
  • 计算机毕业设计选题推荐-SpringBoot 阿博图书馆管理系统

    作者主页 疯狂行者 java领域优质创作者 专注于Java技术领域技术交流 文末获取源码 精彩专栏推荐订阅 在 下方专栏 Java精彩实战项目案例 Java精彩新手项目案例 Python精彩新手项目案例 文章目录 Java精彩实战项目案例
  • python+django智能水果店连锁商城销售系统设计vue

    本次研究的系统使用了DJANGO框架 VUE框架等技术 还有 MySQL数据库 最终实现了智能水果销售的系统设计 本系统主要包括 用户管理模块 个人中心 水果类别管理模块 用户下单 用户信息 水果信息模块等 随着智能水果销售的系统的正式启用
  • nodejs+vue+微信小程序+python+PHP健身房信息管理系统的设计与实现-毕业设计推荐

    模块包括主界面 统首页 个人中心 教练管理 会员管理 器材任务管理 自练信息管理 健身课程管理 健身项目管理 健身视频管理 预约教练管理 课程订单管理 留言板 健身论坛 系统管理等进行相应的操作 在当今高度发达的信息中 信息管理改革已成为一
  • C++ 后台开发面试时一般考察什么?

    一 自我介绍 先说下我的个人经历 我刚工作的前几年做股票 期货 现货的交易系统 后来去二三四五做战略软件 再后来去声网做信令 再后来去了携程旅行网做基础框架业务 用的都是 C C 如今在某大厂 畅销书 C 服务器开发精髓 一书作者 参与过很