商泰面试总结(嵌入式开发)

2023-10-11 07:50

本文主要是介绍商泰面试总结(嵌入式开发),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  首先一面面试(技术面)面的不好,很多问题都不会,基础优点薄弱。其次自己b把自己往坑里带,面试官都说再往下说你要陷坑里了。好吧,面试官是个好人,我好羞愧。不过自己能看到自身的不足,认识到自己离一名真正的优秀程序员还有多远的路要走,便如茫茫黑夜能觅得一盏明灯一样的幸运。无论过与不过,都对我的成长有很大的帮助。

  下面我讲的不是面试技巧,面试技巧的确有用,但提高自己的能力更重要。下面时我总结面试官问的几个问题,如有遗漏,实属正常,因为出来时我的肚子是空白的,大脑也是空白的。

 首先面试官让我自我介绍,然后从多渠道解决问题是怎么多渠道的?我想了想,说了如果段错误,野指针之类怎么解决。好吧,我从来没有分清段错误和内存泄露有什么关系,面试官说这两者不一样,内存泄漏不会运行报错,然后我又说scanf如果漏加取地址符,编译能过,但会报段错误,面试官说这编译都会报错。

这是我运行后的结果,实验证明不加取地址符编译通过,但会报段错误。

至于内存泄露,指的是你使用完的资源没有正确的释放掉,同时其他资源不能访问这片资源,那么就会引起内存泄漏,一般的内存泄露分为对空间泄露和系统资源泄露,内存泄露会导致可使用的内存变少,内存泄露可编译可运行,不会报错,但如果内存泄露的程序块重复执行,则系统可用内存会消耗掉

段错误则是访问了不可访问的内存空间,比如说数组越界,scanf没有放取地址符, 野指针等等(这个我知道,但一紧张又混起来,都和内存有关,尴尬)

还有面试官问了我傅里叶变换,对不起,全还给老师了,我又百度了一下,瞬间勾起回忆,傅里叶变换是将时域转化为频域,在频域处理(原因:时域能观测到波形,但频域可以吧复杂的信号转化为正弦波的叠加,更易于处理),然后在通过傅里叶逆变换回到时域。

其次又问了单例模式

我没写对,再写一遍

#include <iostream>
class test
{
private:
 test()
 {
 }
 ~test()
 {
 }
 static test *p;
public:
 static test * creatP();
 static test * deleteP();
};
test * test::p = NULL;
test * test::creatP()
{
 if(p != NULL)
 {
  return p;
 }
 p = new test();
 return p;
}
test * test::deleteP()
{
 if(p != NULL)
 {
  delete p;
  p = NULL;
 }
}
int main()
{
 test *p = test::creatP();
 return 0;
}

这是懒汉式的单例模式,现场不知道为什么就写错。

最后面试官又问什么情况下多线程要加锁,我认为时共享变量要加锁,如堆,全局变量,文件描述符,静态变量等


这篇关于商泰面试总结(嵌入式开发)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/186624

相关文章

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解