软件开发工程师面试题目

一、结构体内存对齐问题
内存对齐规则:
1,第一个成员初始于0偏移处
2,每个成员按其内存大小和指定内存参数中得小者进行对齐
3,结构体总长度必须为对齐参数的整数倍
4,对于数组,拆开看成n个元素
详细查看:http://blog.csdn.net/mbh_1991/article/details/10241785
补充:
1,int 64位编译器为4byte。
2,struct类型不拆分
3,char,short可以合在一起
二、
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件开发工程师面试题通常会涉及以下几个方面: 1. 软件开发过程:面试官可能会问到软件开发过程的阶段以及每个阶段的作用。一般软件开发过程包括可行性分析、需求分析、架构设计、代码编写、测试、部署和维护等阶段。可行性分析用于评估项的可行性和风险控制,需求分析用于明确项的功能需求,架构设计用于设计系统的整体结构,代码编写用于实现具体功能,测试用于验证系统的正确性,部署用于将软件交付给用户,维护用于保证软件的可用性和稳定性。 2. 错误和异常处理:面试官可能会问到错误和异常的区别。错误(error)通常表示一种严重的问题,恢复起来可能很困难,比如内存溢出。而异常(exception)表示设计或实现问题,通常指程序运行正常时不会发生的情况。错误往往无法被程序处理,而异常可以通过异常处理机制被捕获并进行处理。 3. 托管代码和非托管代码:面试官可能会问到托管代码和非托管代码的区别。托管代码是运行在.NET公共语言运行时(CLR)中的代码,受CLR管理内存、资源和安全性。相对而言,非托管代码是直接访问计算机硬件和操作系统的代码,不经过CLR运行,需要程序员自行分配和释放内存空间。 综上所述,软件开发工程师面试题通常会涉及软件开发过程的阶段和作用、错误和异常的区别以及托管代码和非托管代码的概念。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C#笔试题面试题锦集](https://blog.csdn.net/Fighting515/article/details/115870562)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值