当前位置: 首页 > news >正文

计算机专业课面试常见问题-编程语言篇

目录

1. 程序的编译执行流程?                                                        

2. C++浅拷贝和深拷贝的区别?                                                 

3. C++虚函数?                                                                     

4. 指针和引用的区别?                                                           

5. C++中内存分配情况?                                                         

6. 面向对象与面向过程

7. 堆和栈的区别?                                                                

8. 面向对象的三大特性?                                                        

9.你是如何理解C++同时具有面向对象和面向过程语言的特性的?

10. 重载与覆盖的区别?                                                         

11. 内存抖动是什么?                                                            

12.最熟悉的编程语言是什么?并问了一些该语言的语法问题            

1.c++中类初始化的顺序是什么?                                                                                                      

2.c++的重载需要注意什么问题?                                                                                                      

3.c++的多态是什么                                                                                                                          

4.malloc和new的区别是什么?                                                                                                   

5.c++内存泄漏                                                                                                                                 

13.C与C++的区别?                                                                  

14.c与python的区别?                                                            

15.c++与python的区别?                                                          


1. 程序的编译执行流程?                                                        

  1. 编译:对源程序进行语法检查,在检查无误后,把代码翻译为二进制目标代码。
  2. 链接:将源程序与其它库函数及相关程序链接起来,生成可执行文件。
  3. 执行:执行生成的可执行文件。

2. C++浅拷贝和深拷贝的区别?                                                 

简单理解

假如B复制A,如果改变A,则B也被改变,就是浅拷贝。

假如B复制A,A改变,则B不变,就是深拷贝。

详细解释

对于浅拷贝来说,只是增加了一个指针指向已经存在的内存。当浅拷贝复制引用属性时,仅仅复制指针值,没有复制指向的对象。

对于深拷贝来说,它复制了该属性指向的对象,也就是在增加了一个指针的同时并且申请了一块新的内存,使这个增加的指针指向这片新的内存。

3. C++虚函数?                                                                     

虚函数是被 virtual 关键字修饰的成员函数。虚函数的作用,就是实现多态。通俗的讲,就是以共同的方法,但因个体差异,而采用不同的策略。

在基类的函数前加上 virtual 关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数,如果对象类型是派生类,就调用派生类的函数,如果对象类型是基类,就调用基类的函数。

 比如说有个动物数组,里面有很多种动物(猫、狗、鸟)。现在动物类有一个发出叫声的函数,而不同动物的叫声是不一样的,那我们每个动物就可以去重写这个发出叫声的函数。那咱们在遍历这个数组的时候,就统一调用这个发出叫声的函数,而不需要去管它到底是哪种动物。

把子类对象用父类类型来声明,在子类里面重写父类里的函数,调用方法的时候执行的是子类里面的函数。

4. 指针和引用的区别?                                                           

指针和引用都是一种内存地址的概念,区别呢,指针是一个实体,引用只是一个别名。

指针它指向一块内存,指针的内容是所指向的内存的地址。所以说,指针包含的内容是可以改变的,允许拷贝和赋值,有 const 和非 const 区别,甚至可以为空,sizeof 能够获得指针类型的大小。

引用它只是一块内存的别名,所以引用必须而且只能在定义时被绑定到一块内存上,后续不能更改,也不能为空,也没有 const 和非 const 区别。

5. C++中内存分配情况?                                                         

栈:由编译器管理分配和回收,存放局部变量和函数参数。

堆:由程序员管理,需要手动 new malloc delete free 进行分配和回收,空间较大,但可能会出现内存泄漏和空闲碎片的情况。

全局/静态存储区:分为初始化和未初始化两个相邻区域,存储初始化和未初始化的全局变量和静态变量。

常量存储区:存储常量,一般不允许修改。

代码区:存放程序的二进制代码。

6. 面向对象与面向过程

面向对象编程(Object-Oriented Programming, OOP)和面向过程编程(Procedural Programming)是两种不同的编程范式。

面向对象编程(OOP)

  1. 核心思想:将程序中的数据(对象)和操作数据的方法(函数)组合成为一个对象,通过对象之间的交互来完成任务。
  2. 特点:封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)是面向对象编程的三大特性。
  3. 重点:注重数据的封装性、代码的复用性和扩展性,更加灵活和易于维护。

面向过程编程

  1. 核心思想:将问题划分为一个个小的步骤,然后使用函数来一步步地解决问题。
  2. 特点:强调程序的执行顺序和流程,将问题按照执行顺序分解成一个个步骤,然后写出实现每个步骤的函数。
  3. 重点:适合解决简单的问题,代码的可复用性较低,随着程序规模的增大,容易导致代码的复杂性和维护难度增加。

比较

  • 抽象程度:面向对象更加抽象,通过对象的概念来组织和设计程序;面向过程更直接地按照步骤解决问题。
  • 复用性:面向对象因为可以通过继承和多态实现代码的复用,更加灵活;面向过程通常需要重复编写相似的功能代码。
  • 维护性:面向对象因为封装性好,可以降低代码的耦合度,提高代码的可维护性;面向过程因为较少的抽象层次,维护相对较困难。

选择面向对象还是面向过程取决于项目的需求和复杂度。大多数现代编程语言都支持面向对象编程,因为它更符合复杂软件系统的开发和维护要求。

7. 堆和栈的区别?                                                                

 栈

由编译器进行管理,在需要时由编译器自动分配空间,在不需要时候自动回收空间,一般保存的是局部变量和函数参数等。

 堆

由程序员管理,需要手动 new malloc delete free 进行分配和回收,如果不进行回收的话,会造成内存泄漏的问题。

8. 面向对象的三大特性?                                                        

  1. 封装就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让信任的类或者对象操作,对不可信的进行信息隐藏。一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
  2. 继承

一个类继承了另一个类,就具有了该类所有非私有的属性和方法。就可以像调用自己的属性和方法一样去调用。被继承的类叫父类,继承父类的类叫子类。比喻:儿子可以去使用父亲的资源,然后儿子也可以拥有自己独立的发展。

3.多态

多态指的是一个对象可以体现出多种形态,比如猫类继承了动物类,那么猫可以体现出两种形态,一种是猫,一种是动物。具体到代码里面通常指的是把子类对象用父类类型来声明,在子类里面重写父类里的方法,调用方法的时候执行的是子类里面的方法。

9.你是如何理解C++同时具有面向对象和面向过程语言的特性的?

10. 重载与覆盖的区别?                                                         

  1. 覆盖是父类与子类之间的关系,是垂直关系;重载是同一类中方法之间的关系,是水平关系。
  2. 覆盖只能由一个方法或一对方法产生关系;重载是多个方法之间的关系。
  3. 覆盖要求参数列表相同;重载要求参数列表不同。
  4. 覆盖中,调用方法体是根据对象的类型来决定的,而重载是根据调用时实参表与形参表来对应选择方法体。
  5. 重载方法可以改变返回值的类型,覆盖方法不能改变返回值的类型。

11. 内存抖动是什么?                                                            

内存抖动概念:指在短时间内有大量的对象被创建或者被回收的现象。

内存抖动产生原因:主要是频繁在循环里创建对象(导致大量对象在短时间内被创建,由于新对象是要占用内存空间的而且是频繁,如果⼀次或者两次在循环⾥创建对象对内存影响不大,不会造成严重内存抖动,这样可以接受,频繁的话就很内存抖动很严重),内存抖动的影响是如果抖动很频繁,会导致垃圾回收机制频繁运行(短时间内产生大量对象,需要大量内存,而且还是频繁抖动,就可能会需要回收内存以用于产生对象,垃圾回收机制就自然会频繁运行了)。

 内存抖动影响:频繁内存抖动会导致垃圾回收频繁运行,造成系统卡顿。

 

12.最熟悉的编程语言是什么?并问了一些该语言的语法问题            

例如c++部分

1.c++中类初始化的顺序是什么?                                                                                                      

在C++中,类成员的初始化顺序是固定的,它们按照以下顺序进行初始化:

  1. 基类构造函数:如果你的类派生自其他类(有继承关系),则首先调用基类的构造函数。基类的构造函数按照继承层次从 基类开始逐级向下调用。
  2. 成员变量初始化:接下来,类的成员变量按照它们在类中声明的顺序进行初始化。初始化的顺序与它们在类成员初始化列表中的顺序无关,而是与它们在类中的声明顺序有关。
  3. 构造函数体: 后,构造函数体内的代码被执行。

 

2.c++的重载需要注意什么问题?                                                                                                      

 在C++中,函数重载是一种允许你在同一个作用域内定义多个具有相同名称但不同参数列表的函数的机制。重载函数通常用于提供不同的行为,根据不同的参数来选择正确的函数。但是,在使用函数重载时需要注意一些问题,以确保正确的行为和代码可读性:

  1. 参数类型和数量:函数重载的主要标志是函数的参数类型和数量。因此,确保重载的函数具有不同的参数类型或不同的参数数量是至关重要的。如果两个重载的函数具有相同的参数类型和数量,编译器将无法区分它们,这将导致编译错误。
  2. 函数返回类型不同不构成重载:C++不允许只根据函数的返回类型来进行重载。即使两个函数具有不同的返回类型,只要它们的参数类型和数量相同,它们仍然被认为是冲突的。
  3. 避免二义性:有时候,如果函数重载不当,可能会导致二义性,使编译器无法确定要调用哪个函数。这通常发生在参数类型之间存在模糊性的情况下。要避免这种情况,可以使用强制类型转换或者重新设计函数接口。
  4. 函数签名的唯一性:函数的签名由函数名、参数类型和参数数量组成。每个重载函数必须有唯一的函数签名,以便编译器能够区分它们。
  5. 维护可读性:虽然函数重载允许使用相同的函数名来表示不同的行为,但要确保代码的可读性。如果函数重载过多或参数过于复杂,代码可能变得难以理解。在这种情况下,考虑使用不同的函数名或拆分功能以提高代码的清晰度。
  6. 注意默认参数:默认参数可以与函数重载一起使用,但要注意默认参数可能会导致二义性。如果有多个重载函数,其中一个有默认参数,而另一个没有,编译器可能无法确定应该调用哪个函数。这种情况下需要小心设计。
  7. 注意引用和指针:函数重载中的引用和指针参数需要特别小心。重载函数之间可能会导致引用/指针的二义性,因此需要谨慎处理。

总之,函数重载是一种强大的特性,但要确保使用正确和合理,以避免编译错误、二义性和可维护性问题。 好的做法是保持函数接口的清晰和简单,使代码易于理解和维护。

 

3.c++的多态是什么                                                                                                                          

C++ 中的多态(Polymorphism)是一种重要的面向对象编程概念,它允许不同类型的对象对相同的函数进行调用,但在运行时会执行适当的函数,以实现不同的行为。多态有助于实现代码的灵活性、可扩展性和可维护性。

 

4.malloc和new的区别是什么?                                                                                                   

malloc 是C语言中的标准库函数,而 new 是C++的操作符。

malloc 返回一个void*指针,需要显式地进行类型转换,以便将其用于特定类型的对象。

new 返回一个指向分配类型对象的指针,并不需要显式的类型转换。

malloc 分配的内存需要使用 free 函数进行手动释放。

new 分配的内存需要使用 delete 操作符进行释放。

5.c++内存泄漏                                                                                                                                 

 C++中的内存泄漏是指程序在分配内存后,没有释放该内存,导致程序在运行过程中持续占用内存,终可能导致内存耗尽或程序性能下降。

我们需要确保在每个 new 或 malloc 后都有相应的 delete 或 free。要养成良好的习惯。

6.for循环如何加快                                                                                                                          

 可以增加适当的剪枝操作,将不必要的情况直接跳过。

7.解释一下join函数的意义,如何使用?                                                                                           

join 函数通常是指用于将字符串数组中的元素连接成一个字符串的操作。

 

13.C与C++的区别?                                                                  

C与C++是两种编程语言,它们有许多相似之处,但也有一些重要的区别。以下是它们之间的一些主要区别:

  1. 设计目标:

C语言是一种过程式编程语言,它的主要设计目标是提供高效的系统编程和硬件控制。

C++语言是一种多范式编程语言,它在C的基础上增加了面向对象编程(OOP)的功能,旨在提高代码的可重用性和可维护性。

  1. 编程风格:

C语言主要侧重于过程式编程,强调函数和模块化编程。

C++语言可以同时支持过程式编程和面向对象编程,允许程序员使用类和对象来组织和管理代码。

  1. 语法差异:

C++在C的基础上引入了一些新的关键字和语法,如类、继承、多态等,以支持面向对象编程。

C++也支持函数重载,允许多个函数具有相同的名称但不同的参数列表。

  1. 标准库:

C标准库提供了一组用于C编程的函数和头文件,如stdio.h和stdlib.h。

C++标准库不仅包括C标准库,还包括一组用于支持面向对象编程的类和模板库,如iostream 和vector。

  1. 内存管理:

在C语言中,内存管理主要由程序员手动完成,包括分配和释放内存。

在C++中,引入了自动内存管理的概念,通过使用构造函数和析构函数,可以更容易地管理对象的生命周期。

  1. 兼容性:

   C++是C的超集,这意味着C代码通常可以在C++中编译和运行,但反之则不一定成立。换句话说,C++代码不一定是有效的C代码。

  1. 应用领域:

C语言通常用于操作系统、嵌入式系统、驱动程序和其他需要高度性能和底层控制的应用程序。C++语言广泛用于开发桌面应用程序、游戏开发、图形界面应用程序、服务器端应用程序等,特别是那些需要面向对象编程的项目。

总的来说,C和C++之间的主要区别在于C++引入了面向对象编程的功能,提供了更高级别的抽象和更丰富的标准库,使其适用于更广泛的应用领域,而C语言更适合于系统级编程和嵌入式编程等需要更接近硬件的场景。选择使用哪种语言取决于项目的需求和编程风格。

14.c与python的区别?                                                            

C语言和Python语言是两种非常不同的编程语言,它们在许多方面有着显著的区别。以下是它们之间的一些主要区别:

  1. 编程范式:

C语言是一种过程式编程语言,它侧重于使用函数和模块来组织代码。

Python语言支持多种编程范式,包括过程式、面向对象和函数式编程。Python也是一种脚本语言,更注重代码的可读性和简洁性。

  1. 语法:

C语言的语法相对严格,需要显式的类型声明和分号来结束语句。

Python语言的语法非常简洁,使用缩进来表示代码块,不需要显式的类型声明,并且不使用分号。

  1. 内存管理:

在C语言中,程序员需要手动管理内存,包括分配和释放内存,这可能导致内存泄漏和段错误等问题。

Python语言使用自动内存管理,包括垃圾回收机制,程序员不需要手动管理内存。

  1. 性能:

C语言通常比Python更快,因为它更接近底层硬件,没有Python的解释器开销。

Python虽然速度较慢,但更容易编写和维护,适合许多应用程序,特别是那些不需要极高性能的领域。

  1. 库和生态系统:

C语言有大量的库和框架,尤其在系统编程和嵌入式领域有广泛应用。

Python拥有丰富的标准库和第三方库,涵盖了各种领域,包括Web开发、数据科学、机器学习等,这使得Python成为广泛使用的通用编程语言。

  1. 学习曲线:

C语言通常被认为是相对较难学习的语言,因为它需要更多的编程细节和底层知识。

Python语言的学习曲线较平缓,适合初学者入门,因为它更注重代码的可读性和易用性。

  1. 应用领域:

C语言通常用于开发操作系统、嵌入式系统、驱动程序和需要高性能的应用程序。

Python语言广泛用于Web开发、数据分析、科学计算、人工智能和机器学习等领域,因为它提供了丰富的库和框架以支持这些应用。

总的来说,C语言和Python语言在设计哲学、语法、性能和适用领域等方面存在显著差异。选择使用哪种语言应根据具体的项目需求和编程任务而定。

15.c++与python的区别?                                                          

C++和Python是两种非常不同的编程语言,它们在许多方面有着显著的区别。以下是它们之间的一些主要区别:

  1. 类型系统: C++是一种静态类型语言,意味着在编译时必须明确定义变量的类型,并且类型检查在编译时进行。

Python是一种动态类型语言,变量的类型在运行时确定,不需要显式声明类型。

  1. 语法

C++的语法相对复杂,需要更多的代码来完成相同的任务,包括类型声明、内存管理和错误处理等。

Python的语法非常简洁和易读,使用缩进来表示代码块,不需要分号,更容易学习和编写。

  1. 内存管理

在C++中,程序员需要手动管理内存,包括分配和释放内存,这可能导致内存泄漏和段错误等问题。

Python使用自动内存管理,包括垃圾回收机制,程序员不需要手动管理内存。

  1. 性能

C++通常比Python更快,因为它更接近底层硬件,没有Python的解释器开销,并且可以更好地优化性能。

Python速度较慢,因为它是解释性语言,但通常足够快,特别是对于许多应用程序来说性能已经足够。

  1. 库和生态系统

C++拥有丰富的库,但相对于Python来说,它的标准库较小,需要更多的编写自定义代码来完成任务。

Python有大量的标准库和第三方库,涵盖了各种领域,使得开发更快捷,特别适合快速原型设计和开发。

  1. 学习曲线

C++通常被认为是相对较难学习的语言,因为它需要掌握更多的编程细节和底层知识。

Python语言的学习曲线较平缓,适合初学者入门,因为它更注重代码的可读性和易用性。

  1. 应用领域

C++通常用于开发高性能的系统软件、游戏引擎、嵌入式系统和需要底层硬件控制的应用程序。

Python广泛用于Web开发、数据科学、机器学习、自动化脚本、科学计算和网络爬虫等领域,因为它提供了丰富的库和框架以支持这些应用。

总的来说,C++和Python在设计哲学、语法、性能和适用领域等方面存在显著差异。选择使用哪种语言应根据具体的项目需求、性能要求和编程风格来决定。有时候,两者也可以结合使用,例如,使用

C++编写性能关键部分的库,然后在Python中调用这些库以实现更高层次的应用程序。

END~

夏0营~ 

相关文章:

计算机专业课面试常见问题-编程语言篇

目录 1. 程序的编译执行流程? 2. C浅拷贝和深拷贝的区别? 3. C虚函数? …...

CSS|05 继承性与优先级

继承性 一、继承性的特点: 1.外层元素身上的样式会被内层元素所继承 2.如果内层元素与外层元素身上的演示相同时,外层元素的样式会被内层元素所覆盖 二、关于继承性的问题 是不是所有样式都能被继承? 答:并不是所有样式能被继承…...

KVM性能优化之内存优化(宿主机)

linux系统自带了一技术叫透明巨型页(transparent huge page),它允许所有的空余内存被用作缓存以提高性能,而且这个设置是默认开启的,我们不需要手动去操作。 Centos下,我们用cat /sys/kernel/mm/transpare…...

【Linux杂货铺】Linux学习之路:期末总结篇1

第一章 什么是Linux? Linux 是 UNIX 操作系统的一个克隆;它由林纳斯 本纳第克特 托瓦兹从零开始编写,并在网络上众多松散的黑客团队的帮助下得以发展和完善;它遵从可移植操作系统接口(POSIX)标准和单一 UNIX 规范…...

GPT-5的到来:智能飞跃与未来畅想

IT之家6月22日消息,在美国达特茅斯工程学院的采访中,OpenAI首席技术官米拉穆拉蒂确认了GPT-5的发布计划,预计将在一年半后推出。穆拉蒂形象地将GPT-4到GPT-5的飞跃比作高中生到博士生的成长。这一飞跃将给我们带来哪些变化?GPT-5的…...

gin中间件

在web应用服务中,完整的业务处理在技术上包含客户端操作,服务端处理,返回处理结果给客户端三个步骤。但是在在更负责的业务和需求场景。一个完整的系统可能要包含鉴权认证,权限管理,安全检查,日志记录等多维…...

swagger常用注解

最近查看接口文档的时候发现,POST方法中的query没法在swagger中显示,查了才发现这是因为Swagger或OpenAPI规范默认将HTTP POST请求的参数识别为请求体(body)参数,而不是查询字符串(query)参数。…...

【Flink metric(1)】Flink指标系统的系统性知识:获取metric以及注册自己的metric

文章目录 一. Registering metrics:向flink注册新自己的metrics1. 注册metrics2. Metric types:指标类型2.1. Counter2.2. Gauge2.3. Histogram(ing)2.4. Meter 二. Scope:指标作用域1. User Scope2. System Scope ing3. User Variables 三. Reporter ing四. System…...

命令模式(Command Pattern)

命令模式(Command Pattern) 定义 命令模式是对命令的封装,每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。 命令模式解耦了请求方和接收方,请求…...

掌握Symfony的模板继承:构建强大且灵活的Web界面

掌握Symfony的模板继承:构建强大且灵活的Web界面 在Symfony框架中,模板继承是一个强大的功能,它允许开发者创建可重用的布局模板,并通过扩展这些模板来构建具体的页面。这种机制不仅提高了代码的可维护性,还使得页面结…...

uboot基本使用网络命令和从服务器端下载linux内核启动

网络命令ip地址设置: setenv gmac_debug 0; setenv mdio_intf rgmii; setenv bootdelay 1; setenv ethaddr 00:xxxx:81:70; // mac地址 setenv ipaddr xxx; //开发板 IP 地址 setenv netmask 255.255.255.0; setenv gatewayip xxx.1; setenv serverip xxxx; //服…...

解决ArcGIS导出的svg格式的图片插入Word后的字体问题

背景 在ArcGIS中设置字体为Times New Roman,但导入Word后字体转为等线。 ArcGIS中的Layout 导入Word​​​​​​ 原因分析 Word无法识别嵌入进SVG格式文件中的字体。 解决方案 在Export Layer窗口中,将Embed fonts取消勾选,Convert cha…...

如何确保 Puppet 配置在复杂网络环境中的可靠分发和同步?

在复杂网络环境中确保 Puppet 配置的可靠分发和同步可以采取以下措施: 网络拓扑规划:在复杂网络环境中,首先需要进行网络拓扑规划,确保网络结构合理,并能够支持可靠的分发和同步机制。 Puppet Master 多节点部署&…...

2024最新!将mysql的数据导入到Solr

Solr导入mysql的数据 如何安装导入数据前准备配置Solr的Jar包以及Mysql驱动包1.1、将solr-8.11.3\dist下的两个包进行移动1.2、将mysql-connect包也移动到该位置1.3、重启Solr项目 配置xml2.1、第一步我们需要创建核心2.2、第二步修改xml(这里是结合19年的教程)2.3、 创建data-…...

Python数据分析第二课:conda的基础命令

Python数据分析第二课:conda的基础命令 1.conda是什么? conda是一个开源的包管理系统,可以帮助我们进行管理多个不同版本的软件包,还可以帮助我们建立虚拟环境,以便对不同的项目进行隔离。 简单来说,conda是一个软…...

LayoutInflater加载流程

简介 LayoutInflater在日常的Android开发中是经常使用的类,常常用于XML中View的加载相关流程。本文主要总结一些其常见api的源码流程。 获取LayoutInflater 我们一般会在Activity的onCreate方法中会通过setContentView方法设置自己的布局layoutId,Act…...

PLC数据采集案例

--------天津三石峰科技案例分享 项目介绍 项目背景 本项目为天津某钢铁集团下数字化改造项目,主要解决天津大型钢厂加氢站数字化改造过程中遇到的数据采集需求。项目难点PLC已经在运行了,需要采集里面数据,不修改程序,不影响P…...

基于单片机和LabVIEW 的远程矿井水位监控系统设计

摘要 : 针 对 现 有 矿 井 水 位 监 控 系 统 存 在 结 构 复 杂 和 不 能 远 程 监 控 的 问 题 , 设计了基于单片机和LabVIEW 的远程矿井水位监控系统 , 详…...

element 表格嵌套表单验证指定行

elementui表格嵌套动态表单&#xff0c;单独验证某一行输入项是否符合校验规则&#xff1b; input动态绑定校验 :prop"imgTable. scope.$index .bxName" <el-form :model"formTable" ref"formTable" inline size"small"><…...

CORE Mobility Errorr的调试

在运行CORE tutorial 3中的mobility示例时&#xff0c;出现如下错误&#xff1a; 当看到这个问题的时候&#xff0c;并没有仔细去分析日志和现象&#xff0c;在core-daemon的进程打印界面只看了一下最后的出错堆栈&#xff1a; 2024-06-27 10:43:48,614 - ERROR - _server:_ca…...

基于weixin小程序乡村旅游系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;旅游景点管理&#xff0c;景点类型管理&#xff0c;景点路线管理&#xff0c;系统管理 商家帐号账号功能包括&#xff1a;系统首页&#xff0c;旅游景点管理&…...

详解三种常用标准化 Batch Norm Layer Norm RMSNorm

参考&#xff1a; BN究竟起了什么作用&#xff1f;一个闭门造车的分析《动手学深度学习》7.5 节 深度学习中&#xff0c;归一化是常用的稳定训练的手段&#xff0c;CV 中常用 Batch Norm&#xff1b; Transformer 类模型中常用 layer norm&#xff0c;而 RMSNorm 是近期很流行…...

云计算运维工程师面试

1. 云计算运维工程师的角色和职责是什么? 回答: 云计算运维工程师负责确保云计算环境(包括硬件和软件系统)的高可用性和稳定性。他们的主要职责包括: 监测系统和应用程序的性能,确保它们正常运行。故障排除,快速响应并解决系统或应用程序中出现的问题。容量规划,根据…...

聚观早报 | iPhone 16核心硬件曝光;三星Galaxy全球新品发布会

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 6月28日消息 iPhone 16核心硬件曝光 三星Galaxy全球新品发布会 苹果正多方下注布局AI商店 黄仁勋2024年薪酬3400…...

web前端之文档流、浮动、定位详解

目录 一、文档流 二、浮动 1.添加浮动 2.清除浮动 三、定位 1.相对定位 2.绝对定位 一、文档流 什么是文档流&#xff1f; ● 文档流指的是文档中的标签在排列时所占用的位置。 将窗体自上而下分成一行行 &#xff0c;并在每 行中按从左至右的顺序排放标签&#xff0c…...

[JS]节点操作

DOM节点 DOM树中的所有内容都是节点, 我们重点关注元素节点 作用 使开发者可以根据节点的关系获取元素, 而不是只能依赖选择器, 提高了编码的灵活性 节点分类 元素节点: 所有的标签都是元素节点, html是根节点属性节点: 所有的属性都是属性节点, 比如href文本节点: 所有的文…...

基于SpringBoot+Vue的论坛网站系统(带1w+文档)

基于SpringBootVue的论坛网站系统(带1w文档) 对于之前论坛网站的管理&#xff0c;大部分都是使用传统的人工方式去管理&#xff0c;这样导致了管理效率低下、出错频率高。而且&#xff0c;时间一长的话&#xff0c;积累下来的数据信息不容易保存&#xff0c;对于查询、更新还有…...

03逻辑门电路

分立门电路&#xff1a; 集成门电路&#xff1a; TTL门电路 MOS门电路&#xff1a;NMOS门电路、PMOS门电路、CMOS门电路 BICMOS门电路&#xff1a;CMOS的高输入阻抗和TTL的高放大倍数的结合 向更低功耗、更高速度发展 MOS管的Rdson在可变电阻区的阻值也一般会小于1000欧姆 …...

2毛钱的SOT23-5封装28V、1.5A、1.2MHz DCDC转换器用于LCD偏置电源和白光LED驱动等MT3540升压芯片

前言 之前发了一个TI的BOOST升压芯片&#xff0c;用于LCD偏置电压或LED驱动&#xff0c;请访问以下链接。 6毛钱SOT-23封装28V、400mA 开关升压转换器&#xff0c;LCD偏置电源和白光LED应用芯片TPS61040 国产半导体厂家发展迅猛&#xff0c;今天推荐一个公司带“航天”的升压…...

Zookeeper部署

Zookeeper部署 下载安装包Linux解压安装包修改配置文件编辑zoo.cf配置 启动服务停止服务常用zookeeper指令查看namespace列表创建namespace删除namespace 注意&#xff1a;该文章为简单部署操作&#xff0c;没有复杂的配置内容&#xff0c;用的是3.7.2版本。 下载安装包 进入z…...

2.x86游戏实战-跨进程读取血量

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 接下来会写C/C代码&#xff0c;C/C代码不是很难&#xff0c;然后为了快速掌握逆向这个技能&#xff0c;我…...

element-plus 日期选择添加确定按钮

需求&#xff1a;选择日期后&#xff0c;点击确定按钮关闭面板 思路&#xff1a; 使用shortcuts自定义确定和取消按钮选择日期后使用handleOpen()强制开启面板点击确定后使用handleClose()关闭面板 <template><el-date-pickerref"pickerRef"v-model"…...

Redis优化之持久化

目录 1.Redis高可用 2.Redis持久化 2.1 RDB持久化 2.1.1 触发条件 2.1.2 执行流程 2.1.3 启动时加载 2.2 AOF持久化 2.2.1 开启AOF 2.2.2 执行流程 2.2.3 文件重写触发方式 2.2.4 文件重写的流程 2.2.5 启动时加载 2.3 RDB和AOF的优缺点 3.Redis性能管理 3.1 查看…...

ubuntu22.04 编译安装libcurl C++ library

1. 安装必须的依赖项 sudo apt update #sudo apt install build-essential autoconf libtool pkg-config libssl-dev libz-dev 2. 下载及编译前准备 cd /opt mkdir curl && cd curl mkdir build && mkdir install git clone https://github.com/curl/curl.git…...

js函数闭包解析

闭包是JavaScript中非常重要的概念&#xff0c;理解闭包对于编写高质量的代码是至关重要的。本文将详细解析闭包的概念&#xff0c;并提供一些代码示例来帮助读者更好地理解闭包的使用。 什么是闭包&#xff1f; 闭包是指在一个函数内部定义的函数&#xff0c;该函数可以访问包…...

查看Oracle、MySQL、PostGreSQL中的依赖关系

查看Oracle、MySQL、PostGreSQL中的依赖关系 在有些程序员开发习惯中&#xff0c;喜欢为了应用代码的简洁或复用&#xff0c;而在数据库创建一个复杂关连查询的VIEW&#xff0c;甚至是VIEW套VIEW嵌套使用&#xff0c; 这里就有个问题如果上线后如发现依赖的表字段类型或长度不…...

多线程(基础)

前言&#x1f440;~ 上一章我们介绍了什么是进程&#xff0c;对于进程就了解那么多即可&#xff0c;我们作为java程序员更关注线程&#xff0c;线程内容比较多&#xff0c;所以我们要分好几部分才能讲完 目录 进程的缺点 多线程&#xff08;重要&#xff09; 进程和线程的区…...

BUG cn.bing.com 重定向的次数过多,无法搜索内容

BUG cn.bing.com 重定向的次数过多&#xff0c;无法搜索内容 环境 windows 11 edge浏览器详情 使用Microsoft Edge 必应搜索显示"cn.bing.com"重定向次数过多&#xff0c;无法进行正常的检索功能 解决办法 检查是否开启某些科_学_上_网&#xff08;翻_墙&#xf…...

【数据科学】学习资源汇总(不定时更新)

好书推荐&#xff1a;BooksPDF/数据科学/Python数据科学手册.pdf at master zhixingchou/BooksPDF GitHub...

完美解决ValueError: column index (256) not an int in range(256)的正确解决方法,亲测有效!!!

完美解决ValueError: column index (256) not an int in range(256)的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 亲测有效 完美解决ValueError: column index (256) not an int in range(256)的正确解决方法&#xff0c;亲测有效&#xff01;&…...

# 音频处理4_傅里叶变换

1.离散傅里叶变换 对于离散时域信号 x[n]使用离散傅里叶变换&#xff08;Discrete Fourier Transform, DFT&#xff09;进行频域分析。 DFT 将离散信号 x[n] 变换为其频谱表示 X[k]&#xff0c;定义如下&#xff1a; X [ k ] ∑ n 0 N − 1 x [ n ] e − j 2 π k n N X[k]…...

提升网络速度的几种有效方法

在数字化时代&#xff0c;网络速度对于我们的日常生活和工作至关重要。无论是观看高清视频、在线游戏&#xff0c;还是进行视频会议&#xff0c;快速稳定的网络连接都是不可或缺的。如果你发现自己当前的网络速度不尽如人意&#xff0c;那么不妨尝试以下几种方法来提升它。 升…...

@PathVariable注解的使用及源码解析

前言 PathVariable 注解是我们进行JavaEE开发&#xff0c;最常见的几个注解之一&#xff0c;这篇博文我们以案例和源码相结合&#xff0c;帮助大家更好的了解PathVariable 注解 使用案例 1.获取 URL 上的值 RequestMapping("/id/{id}") public Object getId(Path…...

服务器配置重点看哪些参数

对服务器有需求时&#xff0c;应重点考虑以下几个关键参数&#xff0c;以下仅供参考&#xff1a; 处理器&#xff08;CPU&#xff09;&#xff1a;包括CPU的品牌&#xff08;如Intel或AMD&#xff09;、型号、核心数、线程数、主频和缓存大小。核心数越多&#xff0c;处理并发请…...

WSL Ubuntu 如何设置中文语言?

本章教程,主要介绍如何在WSL Ubuntu 如何设置中文语言。 操作系统:Windows 10 Pro 64 WSL子系统:Ubuntu 20.04 LTS 一、安装中文语言包 sudo apt install language-pack-zh-hans二、设置中文语言 sudo dpkg-reconfigure locales选择en_US.UTF-8 和 zh_CN.UTF-8 选择zh_CN.…...

「51媒体」政企活动媒体宣发如何做?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体宣传加速季&#xff0c;100万补贴享不停&#xff0c;一手媒体资源&#xff0c;全国100城线下落地执行。详情请联系胡老师。 政企活动媒体宣发是一个系统性的过程&#xff0c;需要明确…...

K近邻回归原理详解及Python代码示例

K近邻回归原理详解 K近邻回归&#xff08;K-Nearest Neighbors Regression, KNN&#xff09;是一种基于实例的学习算法&#xff0c;用于解决回归问题。它通过找到输入数据点在特征空间中最相似的K个邻居&#xff08;即最近的K个数据点&#xff09;&#xff0c;并使用这些邻居的…...

idea 开发工具properties文件中的中文不显示

用idea打开一个项目&#xff0c;配置文件propertise中的中文都不展示&#xff0c;如图&#xff1a; 可修改idea配置让中文显示&#xff1a; 勾选箭头指向的框即可&#xff0c;点击应用保存&#xff0c;重新打开配置文件&#xff0c;显示正常...

让DroidVNC-NG支持中文输入

DroidVNC-NG支持控制端输入内容&#xff0c;但是仅支持英文字符&#xff0c;如果需要控制输入法软键盘输入中文的话就没办法了&#xff0c;经过摸索找到了解决办法。 这个解决办法有个条件就是让DroidVNC-NG成为系统级应用&#xff08;这个条件比较苛刻&#xff09;&#xff…...

android dialog 显示时 activity 是否会执行 onPause onStop

当一个 Android Dialog 显示时&#xff0c;当前 Activity 通常不会执行 onPause 或 onStop 方法。Dialog 是附加到 Activity 上的一个窗口&#xff0c;它不会中断或替换当前的 Activity&#xff0c;因此 Activity 的生命周期方法 onPause 和 onStop 不会被调用。 然而&#xf…...