博安通视频面试

博安通:
总体感觉很正式,全方面各层次的了解各个我所掌握的东西
先自我介绍。

然后从:教育经历上来展开
主修课程有哪些?
有哪些编程的主修课程?
从数据结构和算法两方面来考查,我的知识点。
如:堆栈,队列和链表,二叉树的遍历
最后问我的课题是什么?
如何学习这些编程相关知识点
遇到过哪些困难,以及找bug的一套方法?
这个没回答好,有一点可以做的更好的是,缩小范围,调试查看内存中的指针和值,是否和预期的一样,有时候会出现一些比较低级的错误,在于编程的时候没有,定义变量没有赋初值会导致,程序跑飞。数组内存定义过大导致内存溢出。
算法的时间复杂度和空间复杂度如何取舍?

数据结构:栈、堆、队列、二叉树

关于项目方面最后问的:
stm32工程如何从无到有的建立
四部分:启动文件、库文件、驱动文件、用户文件
stm32的启动过程
分配占空间
分配堆内存
设置数据段
设置代码段
然后跳到main函数

我用python写的代码,一个问题都没问我

linux内核和驱动的了解
说了半天还往驱动和应用层这两方面走,说的模糊也不好

职业发展规划是?

我的公司是否符合你的职业发展规划?

期待的新薪水?

为什么没有在原公司继续实习
实习后找完工作,会有重新找工作么?没回答好
应该是希望能够转正,哪怕是自己不愿去。
我回答的比较中立。


栈机制
获取内存方式:自动分配和回收-----【自动管理】
由于不清理内存中的数据,分配时任然保留原来的值 ---- 【脏内存】
不要返回栈变量的地址,由于反复使用,地址指向的内存中的数据会被改写,避免数据的混杂 — 【临时的】
栈有大小:无穷尽分配会导致栈溢出,局部函数递归调用分配内存,而没有写停止条件,导致栈溢出(内存泄漏)。 – 【栈溢出】
具体体现:定义局部变量时,自动分配和回收,不清理内存中数据。
内存连续的,先进后出。

堆的机制
按需分配:手动申请(int p_i = malloc(10sizeof(int)))和释放(free(p_i); p_i = NULL(防止野指针的出现))
野指针:指向不确定的指针,
危害:指向不可访问地址(发生段错位);指向可访问,但没有使用的地址,给程序带来隐患;指向可访问,但正在使用的地址,影响程序的运行。
大块内存:比栈内存大的多
脏内存:使用完不会清理指针指向内存中的数据
堆是不连续的

队列:

数据结构基本类型:集合、线性结构、树形结构和图状结构;
线性结构:元素和元素之间存在一一对应的关系
如:数组、栈、队列、链表
数组:可快速访问任何位置的元素
栈:先进后出,只能在栈顶插入和删除
队列:先进先出,队尾插入,队头删除
链表:逻辑上是连续的,由指针指向各个区域,空间上一般不连续
链表不像数组一样可快速访问任意原素的位置,但可以任意插入、删除任意一个节点,比较灵活。

数形结构:元素之间存在一对多的关系

图形结构:每个节点前驱节点数和后续节点数可以任意

二叉树定义:每个节点最多有两个子树的结构
性质:
二叉树第i层上的结点数目最多为:2的i-1次方(i>=1)
深度为k的二叉树至多有2的k次方-1个节点
包含n个结点的二叉树的高度至少为?

1.栈和队列区别

  • 栈(Stack):只允许在一端进行插入或删除操作的线性表。

    • 栈顶(Top): 线性表允许进行插入和删除的那一端
    • 栈底(Bottom): 固定的,不允许进行插入和删除操作的另一端。
    • 空栈:不含任何元素的空表。
    • 栈的一个明显的操作特性:后进先出(Last In First Out, LIFO),故又称为后进先出的线性表。
  • 队列(Queue): 队列简称队,只允许在表的一端进行插入,而在表的另一端进行删除 向队列中插入元素称为入队或进队;删除元素称为出队或离队。这和我们日常生活中的排队是一致的,最早排队的也是最早离队的。其操作的特性是先进先出(First In First Out, FIFO),故又称为先进先出的线性表。

    • 队头(Front):允许删除的一端,又称为队首。
    • 队尾(Rear): 允许插入的一端。
    • 空队列:不含任何元素的空表
      2.数组和链表区别?
  • 结构上:数组连续内存空间,链表指针链接的空间

  • 使用:数据声明需要长度,随机访问效率高,数据个数可大于数组长度,插入和删除需要一定其他元素;链表线性结构只能从前往后访问,效率低,可方便的插入和删除节点

3获取内存的三种情况:栈(stack)、堆(heap)和数据区(.data)

栈机制

  • 获取内存方式:自动分配和回收-----【自动管理】
  • 由于不清理内存中的数据,分配时任然保留原来的值 ---- 【脏内存】
  • 不要返回栈变量的地址,由于反复使用,地址指向的内存中的数据会被改写,避免数据的混杂 — 【临时的】
  • 栈有大小:午穷尽分配会导致栈溢出,局部函数递归调用分配内存,而没有写停止条件,导致栈溢出(内存泄漏)。 – 【栈溢出】
  • 具体体现:定义局部变量时,自动分配和回收,不清理内存中数据。
  • 内存连续的,先进后出。

堆的机制

  • 按需分配:手动申请(int p_i = malloc(10sizeof(int)))和释放(free(p_i); p_i = NULL(防止野指针的出现))
    • 野指针:指向不确定的指针,
    • 危害:指向不可访问地址(发生段错位);指向可访问,但没有使用的地址,给程序带来隐患;指向可访问,但正在使用的地址,影响程序的运行。
  • 大块内存:比栈内存大的多
  • 脏内存:使用完不会清理指针指向内存中的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与主沟通,主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与主沟通,主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与主沟通,主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与主沟通,主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与主沟通,主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
大学生在线租房平台管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、报修评价管理、字典管理、房东管理、房屋管理、房屋收藏管理、房屋留言管理、房屋租赁管理、租房论坛管理、公告信息管理、留言板管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 大学生在线租房平台管理系统可以提高大学生在线租房平台信息管理问题的解决效率,优化大学生在线租房平台信息处理流程,保证大学生在线租房平台信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理大学生在线租房平台信息,包括房屋管理,培训管理,报修管理,薪资管理等,可以管理公告。 房屋管理界面,管理员在房屋管理界面中可以对界面中显示,可以对房屋信息的房屋状态进行查看,可以添加新的房屋信息等。报修管理界面,管理员在报修管理界面中查看报修种类信息,报修描述信息,新增报修信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
基于hal库的OLED显示屏驱动C语言实现源码.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值