笔试面试相关记录(4)

news2024/9/21 18:32:54

(1)实现防火墙的主流技术有哪些?

实施防火墙主要采用哪些技术 - 服务器 - 亿速云 (yisu.com)

(2)

char arr[][2] = {'a', 'b', 'c', 'd'};
printf("%d", *(arr+1));
输出的是谁的地址?字符c
测试代码如下
char arr[][2] = {'a', 'b', 'c', 'd'};
printf("%d\n", *(arr+1));
printf("%x\n", *(arr+1));
printf("%d  %c", &arr[1][0], arr[1][0]);

输出结果如下:
-1454471282
a94e878e
-1454471282  c

(3)

int main()
{
    printf("%p", main);
    return(0);
}
上述代码会死循环吗?不会

(4)

int main()
{
    int a = 4;
    a += a*a<<1+2;
    printf("%d", a);
    return(0);
}
输出132,a = 4 + (4*4)<<(1+2) = 132
算数运算优先级大于移位运算符>赋值运算符

(5)如果两个动态库包含一个同名的全局函数,则他们不能同时链接?

C 多个动态库存在同名函数问题处理方法:-fvisibility=hidden_c语言库函数重名_万能菜道人的博客-CSDN博客 C/C++多个链接库含有同名函数,编译会报错吗_c 语言连接两个静态库方法一样没有报错_杰特JET的博客-CSDN博客

(6)

int main()
{
    int ii = 0;
    printf("%d,%d,%d", ++ii, ++ii, ++ii);
    return(0);
}
输出3,3,3

(7)

void fun(char a[100]) {
    char b[100];
    printf("%d, %d", sizeof(a), sizeof(b));
}

int main()
{
    char a[100];
    fun(a);
    return(0);
}
64位系统中输出8,100

(8)内核空间和用户空间都属于虚拟内存空间吗?内核为系统所有进程共享吗?

虚拟内存、内核空间和用户空间_optics_ts的博客-CSDN博客 

linux虚拟内存与物理内存,内核态与用户态_物理内存被分为内核和用户?_selfsongs的博客-CSDN博客

(9)

union x{
int a;
char b[2];
}t;

int main()
{
    
    t.b[0] = 10;
    t.b[1] = 1;
    printf("%d", t.a);
    return(0);
}
输出266

(10)

#include <iostream>

using namespace std;

class Base {
    virtual void method() {cout << "from Base" << endl;}
public:
    virtual ~Base() {method();}
    void baseMethod() {method();}
};

class A : public Base {
    void method() { cout << "from A" << endl;}
public:
    ~A() { method();}
    
};
int main()
{
    Base* base = new A;
    // 基类指针调用非虚方法,则这里调用的是父类的baseMethod()方法
    // 父类方法中又调用了method(),而这个方法是虚方法,相当于指向子类的基类指针调用
    // method,发生多态,先调用子类的method方法,输出from A
    base->baseMethod();
    // delete base,由于析构函数虚函数,所以会调用子类的析构函数输出from  A
    // 然后调用父类的析构函数输出from Base
    delete base;
    return 0;
}

测试输出:(以上是个人理解,不对之处,请指出)
from A
from A
from Base

(11)

int main()
{
       // 然后调用父类的析构函数输出from Base
    char* str = "hello, world";
    str[1] = 'a';
    printf("%s", str);
    return 0;
}
段错误,通过char* str = 字符串这种方式定义的,字符串在常量区,不能原地修改。

C语言:字符串内容的修改_c语言修改字符串_不吃饭就会放大招的博客-CSDN博客

 (12)对文件的操作模式中,a和a+、w和w+、r和r+有什么区别

 r只读模式,文件必须存在;
r+读写模式,文件必须存在;
a追加模式,文件存在则追加,文件不存在则创建;
w写模式,文件存在则覆盖,文件不存在则创建;
w+读写模式,文件存在则覆盖,文件不存在则创建;
a+读写模式,和a一样;
如果以二进制模式,则rb+,或者r+b,

(13)

int main()
{
    char* p_string = "0123456789";
    printf("sizeof(p_string):%d\n", sizeof(p_string));
    printf("sizeof(*p_string):%d\n", sizeof(*p_string));
    printf("char:%c\n", *p_string);
    printf("p_string=%s\n", p_string);
    printf("strlen(p_string):%d\n", strlen(p_string));
    return 0;
}

输出:
sizeof(p_string):8
sizeof(*p_string):1
char:0
p_string=0123456789
strlen(p_string):10

 (14)

int g_inta;
static int g_intb;
void fun() {
    static int intc;
    int intd;
    printf("%d,%d,%d,%d", g_inta, g_intb, intc, intd);
}
int main()
{
    fun();
    return 0;
}

输出0,0,0,0

(15)

int main()
{
    char str[] = {'1', 49};
    printf("%d,%d,%c,%c", str[0], str[1], str[0], str[1]);
    return 0;
}
输出49,49,1,1

(16)

class A {
public:
    A() {cout << "A()" << endl;};
    A(int val) {cout << "A(int val)" << endl;}
};
int main()
{
    A a, b(3), *p;
    return 0;
}
输出
A()
A(int val)
调用两次构造函数

(17)

void fun(char* str) {
    str = (char*)malloc(10*sizeof(char));
    strcpy(str, "hello");
    
}
int main()
{
    char* str = "world";
    fun(str);
    printf("%s\n", str);
    return 0;
}
输出world

(18)

int main()
{
    int val=100, *p=&val;
    printf("%d", *p);
    return 0;
}
输出100

(19)double(*(*(*fp)(int))[5])(char)  中定义的fp是什么类型?

以下来自chatgpt回答:

表达式 `double(*(*(*fp)(int))[5])(char)` 定义了一个名为 `fp` 的函数指针,该函数指针指向一个函数,该函数具有以下特征:

1. 接受一个 `int` 类型的参数。
2. 返回一个指向数组的指针,该数组包含5个元素。
3. 每个数组元素都是一个指向函数的指针,这些函数接受一个 `char` 参数并返回 `double`。

总的来说,`fp` 是一个指向复杂函数签名的函数指针类型。这种类型的声明可能在某些高级的应用中使用,但通常很难理解和维护,因为它包含了多层指针和函数指针的组合。

 

 单循环比赛生成网站:赢生科技 - 在线单循环赛编排 (16win.cn)

 单循环比赛的编排方法 - 知乎 (zhihu.com)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1013739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue.js的服务器端渲染(SSR):为什么和如何

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Tomcat服务启动失败:java.lang.OutOfMemoryError: Java heap space

具体报错&#xff1a; java.lang.OutOfMemoryError: Java heap space 报错分析&#xff1a; 这个报错表明Java程序运行时内存不足。Tomcat服务在启动时需要占用一定的内存资源&#xff0c;如果分配的内存不足&#xff0c;就会出现该错误。通常情况下&#xff0c;出现该错误的原…

[maven] maven 创建 web 项目并嵌套项目

[maven] maven 创建 web 项目并嵌套项目 这里主要就创建另外一个 web 项目&#xff0c;并且创建一个 parent 项目比较方便的管理一下两个子项目。 maven web 项目 web 创建和 quickstart 的过程是差不多的&#xff0c;只不过这里换乘 webapp&#xff0c;配置方便的话可以搞的…

Android 实战项目分享(一)用Android Studio绘制贝塞尔曲线的艺术之旅

一、项目概述 欢迎来到创意之源&#xff01;我们精心打造的绘图应用程序将带你进入一个充满艺术和技术的奇妙世界。通过使用Android Studio&#xff0c;我们实现了绘制贝塞尔曲线的功能&#xff0c;让你能够轻松创作出令人惊叹的艺术作品。不论你是热爱绘画的大学生还是渴望学习…

VS2015+opencv 3.4.6开发环境

VS2015+opencv 3.4.6开发环境 一、安装包下载二、安装过程三、VS环境配置四、测试一、安装包下载 这里提供两种下载方法:   1. opencv官网   2. csdn资源下载 二、安装过程 2.1 下载opencv-3.4.6 安装包 2.2 双击开始安装,选择要安装目录,点击Extract。  2.3 等待解…

I/O多路复用三种实现

一.select 实现 &#xff08;1&#xff09;select流程 基本流程是&#xff1a; 1. 先构造一张有关文件描述符的表; fd_set readfds 2. 清空表 FD_ZERO() 3. 将你关心的文件描述符加入到这…

天翎知识管理系统:智能化搜索引擎,快速定位知识资源

关键词&#xff1a;知识管理系统、全文检索 编者按&#xff1a;在当今知识经济时代&#xff0c;企业所面临的知识资源越来越丰富&#xff0c;如何高效地管理和利用这些资源成为了一个重要的问题。天翎知识管理系统凭借其智能化搜索引擎&#xff0c;可以帮助企业快速定位知识资源…

论文管理系统设计与实现

毕业论文管理系统的设计与实现 学生&#xff1a; 指导教师&#xff1a; 内容摘要&#xff1a;毕业论文管理系统是典型的MIS信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而…

LeetCode【4. 寻找两个正序数组的中位数】

快乐安康 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 public double findMedianSortedArrays(int[] nums1, int[] nums2) {if (nums1.length &…

干净优雅的做iOS应用内全局交互屏蔽

本文字数&#xff1a;4930字 预计阅读时间&#xff1a;28分钟 01 交互屏蔽的需求 很多应用开发者都会遇到这样一个需求&#xff0c;当程序需要处理某个敏感的核心任务&#xff0c;或者执行某些动画时&#xff0c;需要杜绝一切外部干扰&#xff0c;优先保证任务的完成&#xff0…

EF Core 迁移失败、数据丢失 手动处理

一、环境 windows 10 Visual studio 2022 dotnet 6.0.404 Microsoft.EntityFrameworkCore.Tools 6.0.14 二、问题 有一记录房产交易数据的实体&#xff0c;已有生产数据&#xff0c;现需更改、添加字段&#xff0c;产生了迁移不成功和数据丢失的问题。 原实体定义 //唯一复合索…

数据结构与算法——11.递归

这篇文章我们来讲一个很常用的算法思想——递归 目录 1.递归的概述 2.用递归求阶乘 3.用递归反向打印字符串 4.用递归来求解二分查找 5.用递归解决冒泡排序 6.用递归解决插入排序 7.用递归解决斐波那契数列 8.用递归解决兔子问题 9.用递归解决青蛙爬楼梯问题 10.递归…

CSS - 鼠标移入整行高亮显示,适用于会员套餐各参数对比页面(display: table,div 转表格形式)

效果图 可根据基础示例和进阶示例&#xff0c;复制进行改造样式。 如下图所示&#xff0c;本文提供 2 个示例。 基础示例 找个 HTML 页面&#xff0c;一键复制运行。 <body><h1 style"text-align: center;">基础示例</h1><section class"…

软件设计模式系列之六——单例模式

1 模式的定义 单例模式&#xff08;Singleton Pattern&#xff09;是一种常见的创建型设计模式&#xff0c;其主要目的是确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取该实例。这意味着无论何时何地&#xff0c;只要需要该类的实例&#xff0c;都会返回同一个…

JAVA高级技术入门(单元测试,反射,注解,动态代理)

JAVA高级技术入门&#xff08;单元测试&#xff0c;反射&#xff0c;注解&#xff0c;动态代理&#xff09; 一、Junit单元测试二、反射1.认识反射&#xff0c;获取类概念&#xff1a;快速入门&#xff1a;获取Class对象的三种方式 2.1获取类的构造器2.2获取类的构造器的作用&a…

计算机系统概述之计算机的发展历程

计算机系统概述之计算机的发展历程 计算机的发展历程计算机系统硬件的发展微处理器的发展 软件的发展CAD/ CAM/CIMS的简单介绍 思维导图总结 计算机的发展历程 计算机系统 计算机系统由硬件和软件组成。 硬件&#xff1a;指的是计算机实体&#xff0c;如&#xff1a;主机&#…

【深度学习】 Python 和 NumPy 系列教程(廿四):Matplotlib详解:2、3d绘图类型(10)3D箱线图(3D Box Plot)

目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 3D线框图&#xff08;3D Line Plot&#xff09; 2. 3D散点图&#xff08;3D Scatter Plot&#xff09; 3. 3D条形图&#xff08;3D Bar Plot&#xff09; 4. 3D曲面图…

动态规划——01背包

背包问题经典资料背包九讲&#xff0c;可以上网查一下相关资料。 下面的资料来自代码随想录和自己的一些个人理解&#xff0c;如有需要可以跳转代码随想录进行学习&#xff1a;代码随想录 (programmercarl.com) 背包一共分为01背包&#xff0c;完全背包&#xff0c;多重背包&am…

leetcode:70. 爬楼梯

一、题目 函数原型&#xff1a;int climbStairs(int n) 二、思路 此题运用递归思想。当只有1个台阶&#xff0c;那么只有1种方法爬到楼顶——跨一个台阶&#xff1b;当有2个台阶时&#xff0c;有2种方法爬到楼顶——跨一个台阶跨两次或直接跨两个台阶。当有3个台阶或更多台阶时…

实现客户端pineline的思路

背景&#xff1a; redis集群不支持客户端的mget操作&#xff0c;但是业务上对这个redis集群的批量操作的需求一直都在&#xff0c;所以有各种客户端实现了各式各样的pineline实现,本文就记录下我们公司的实现方式 pineline实现思路 1.pineline要快 pineline之所以快是因为可…