爱刷题的小李 level
获赞
1143
粉丝
96
关注
1
看过 TA
489
北京理工大学
2021
算法工程师
IP属地:北京
刷题,刷题,刷题,今天你刷题了吗!
私信
关注
1. 计算机网络中,TCP建立连接和收发数据所用到的函数有哪些?2. TCP是如何保持稳定的?请详细描述。3. TCP/IP模型中的协议有哪些?请说明HTTP、FTP、UDP在其中的位置。4. 以太网的MAC地址占据多少字节?5. TCP中的ACK和ACK number有什么区别?6. GET和POST请求的区别是什么?7. 计算机的存储结构包括哪些部分?请描述它们的作用。8. 计算机网络一般分为几层?请列出各层名称。9. 在拥塞避免和路由选择中,哪一层起着重要作用?10. HTTP常见的状态码有哪些?请列举几个常见的400状态码。11. ARP协议是什么?它在网络中的哪一层起作用?12. FreeRTOS和Linux之间有什么区别?请描述它们之间的特点。13. 在FreeRTOS中,如何创建任务并实现任务间通信?14. 信号量在操作系统中的作用是什么?如果给信号量发出10次信号,接收端会收到几次?15. 请解释临界区是什么,并说明其重要性。16. 请简要介绍make和cmake工具。17. Linux中进程的状态有哪几种?请说明。18. 在Linux中进行socket编程的步骤是什么?19. 如何使用命令查看Linux中socket编程的IP和端口状态?20. 条件变量在操作系统中的函数名是什么?21. 请介绍一下libevent库。22. 在Linux中,如何查看内存和CPU占用情况?23. 请描述一般的代码调试过程。24. Linux中的设备包括哪些类型?请简要描述它们。25. 请说明单例模式和观察者模式的应用场景。26. 请解释饿汉模式为什么是线程安全的。27. Linux驱动加载的匹配过程是怎样的?28. U-Boot移植的流程是怎样的?29. 如何进行交叉编译?相关的gcc链路是从哪里获取的?30. 请解释数据库的范式及长连接问题。以上题目整理到面经专栏中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
1. C语言的函数调用原理是什么?2. 什么是封装、继承、多态?3. 深拷贝和浅拷贝有何区别?4. 友元在C++中的含义是什么?5. struct和class在C++中的区别是什么?6. 构造函数和析构函数的作用是什么?7. CPU、MPU、MCU、SOC、SPOC有何区别?8. 交叉编译是什么?为何需要交叉编译?9. 嵌入式系统基于ROM和基于RAM的运行方式有何区别?10. 什么是哈弗结构和冯诺依曼结构?11. ARM流水线技术的概念是什么?12. ARM有多少个32位寄存器?13. ARM指令集分为几类?14. ARM处理器有几种工作状态?15. ARM体系中函数调用时参数是如何传递的?16. 锁相环的概念是什么?17. 中断和异常有何区别?18. 中断和DMA的区别是什么?19. 中断的响应执行流程是怎样的?20. 中断和轮询的区别是什么?21. 同步传输和异步传输有何区别?22. RS232和RS485的区别是什么?23. 常用的GCC指令有哪些?24. 硬中断和软中断有何区别?25. 中断为何要分为上半部和下半部?26. 如何求解整数型的二进制表示中1的个数?27. 不使用第三个变量如何变换两个变量的值?28. 给定一个整型变量a,如何设置a的第3位?如何清除a的第3位?29. 什么是虚函数?30. C++如何实现多态?纯虚函数的概念是什么?  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
1. 关键字static的作用是什么?2. 关键字const是什么含意?3. const和宏定义的区别4. 关键字volatile有什么含意 并给出三个不同的例子5. 引用和指针有什么区别6. h头文件中的ifndef/define/endif 的作用?7. 描述实时系统的基本特性8. 全局变量和局部变量的区别9. 全局变量和静态全局变量的区别10. static函数与普通函数的区别11. 什么是平衡二叉树?12. 堆栈溢出一般是由什么原因导致的?13. 什么函数不能声明为虚函数?14. 不能做switch()的参数类型15. 程序的内存分配16. 堆与栈的区别17. 描述内存分配方式以及它们的区别18. malloc和new的区别是什么?19. 进程与线程的区别20. 多进程和多线程的区别21. 信号量是什么?22. 什么是预编译,何时需要预编译23. 三种基本的数据模型24. 简述数组与指针的区别?25. 位操作是什么?26. 访问固定的内存位置(Accessing fixed memory locations)27. 中断与异常的区别28. 变量的定义总结29. 为什么要使用宏,宏有什么优缺点?30. 内联函数及与宏的区别31. bootloader是什么?32. MCU启动过程33. Arm体系结构是什么?34. 什么是嵌入式系统?35. 进程与线程中的通信方式36. 如何将PC上的程序移植到嵌入式系统上,需要注意些什么?37. 设计一种通信方式,从一台主机向另外一台主机传递数据,那么应该怎么选择。38. FreeRTOS之全配置项详解、裁剪(FreeRTOSConfig.h)39. DMA为什么能提高效率?  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
1. 请解释const变量在程序的哪个段?2. 驱动中断的响应包括哪些内容?3. 双核的ARM在uboot里面用了吗?4. strlen和sizeof有什么区别?5. 重写和重载有什么区别?6. memcpy和strcpy有什么区别?7. 请解释gdb调试工具的使用。8. 在命令行中,如何查看进程打开的文件?9. select和epoll有什么区别?10. 在32位结构体中,char、int、char、char、double各占多少字节?11. 请手撕代码,将一个句子中的单词倒装,但单词顺序不变,并且不能使用额外的存储空间。12. CAN和UART有什么区别?CAN是帧结构吗?13. 请解释CAN芯片的编程方式,以及数据如何与内核进行交互,它属于网络设备还是字符设备?14. 在你的项目中,你认为最能体现你的能力的部分是什么?你在其中参与的核心解决的难题是什么?请描述一下三取二的原理以及你在项目中遇到的困难。15. 请描述你参与的项目,我将复述并评估你对该项目的理解。包括项目背景、项目分工、你的主要工作和遇到的难点。16. 动态库和静态库有什么区别?它们的后缀格式是什么?函数的相对地址有什么区别?17. 请解释堆和栈的区别,以及函数栈和线程栈的区别。18. 在微电子学与固体电子学专业中,你认为自己的能力处于中上水平还是最好的那一批?19. 在自我介绍中,请谈谈你最大的与他人不同之处。20. 有名管道的父节点和子节点是什么?21. 使用共享内存时需要注意什么?22. int的长度由什么决定?23. 什么是cache?它有什么作用?24. 请解释寄存器修饰关键字的含义。25. ARM处理器有哪些模式?26. 请解释中断处理流程,中断的现场保护保护了哪些内容?27. kmalloc和vmalloc有什么区别?内核如何分配128M连续内存?28. 什么是TLB?29. 原子操作的底层是如何实现的?30. 请解释一下你对嵌入式系统的理解。上述问题收录到下方专栏  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
头像
03-18 09:48
已编辑
算法工程师
1.请解释嵌入式系统中的中断是什么,以及中断的处理过程。2.请说明你在嵌入式开发中使用过的通信协议,以及你对这些协议的了解程度。3.请解释嵌入式系统中的时钟和定时器的作用,以及你在项目中如何使用它们4. 蓝牙协议栈是蓝牙通信中的核心组件,具有特定的架构和分层结构。请说明蓝牙协议栈的架构和分层。5. 请说明蓝牙协议栈和网络协议栈之间的区别和对比。6. 你在过去的项目中所使用的蓝牙芯片是否基于Linux或其他常用架构。7. 你在过去的项目中所使用的蓝牙软件架构是什么类型。8. 解释函数指针和指针函数。9. Linux内核有不同的版本,请说明你熟悉的Linux内核版本。10. 操作系统任务切换的关键是什么?请说明任务切换时需要保存和加载的内容。11. 请描述你参与的项目,并介绍其中的难点以及你是如何解决的。12. 栈和队列的知识,请说明你对栈和队列的理解。13. 数组和链表是常见的数据结构,请说明你对数组和链表的理解。14. static、vailate和const关键字,请说明你对这些关键字的理解。15. 实现去除字符串中的空格。16. 合并两个链表并按顺序排列。17. 请解释计算机是大端还是小端的方法。18. 在Linux中使用多线程,如何实现软件定时功能?。19. 你参与的项目中的嵌入式开发工作,并说明其中的难点和你的解决方案。20. 在函数中定义一个很大的数组时,应该直接定义还是使用malloc?21. 请解释DMA的概念,以及在嵌入式开发中如何使用DMA。22. 请说明SPI通信的过程,包括SPI的线数和速率配置。23. 请介绍你在开发过程中使用过的stm32芯片的配置信息,包括CPU主频、Flash和RAM的大小。24. 请介绍你在stm32上进行过的开发工作,并说明你开发过的驱动。25. 你在开发调试过程中遇到的难以解决的问题,并分享你是如何解决的。26. 请介绍你参与过的较大型软件开发项目,并说明你在项目中的角色和贡献。27. 在中间层的设计中,你考虑了哪些因素?28. 请解释进程通信中锁和同步的概念,以及你使用过的相关机制。29. 当多个进程无法获取锁时,会进入什么状态?30. 在优先级调度中,如果一个低优先级进程获取了锁,而高优先级进程无法获取锁,高优先级进程的状态会如何?答案在下方专栏  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
1.linux和windows的换行符有什么不同2.i2c设备的地址多少位 (7/10)3.I2C读时序4.宏函数定义写一个交换数据 不能用temp5.宏定义写循环6.uart怎么确定数据正确性7.tcp中大端小端的问题7.了解shell脚本么 写过什么8.Abc类网络分类9.了解多线程多进程么 怎么写多进程编程10.假如中断函数要返回一个值 怎么写11.用过fgets等读取文件的函数么12.open函数传入什么参数 什么模式 参数怎么写13.有没有试过用给usb等IO设备等写数据14. 给你一个不联网的电脑 怎么找关于grep的用法18.TCP、UDP异同 函数19.I2c的特点 速度 硬件软件i2c有什么异同20.中断要传入什么参数 中断可以有返回值吗21.堆栈的区别 内存不free会怎样22.若栈的长度较小有什么注意事项23.程序还可以存放在哪里24.链表和顺序表的区别 (送分题哦 务必学会)25.怎么确定该用链表还是数组26.spi用过吗 讲一讲27.没定义的变量使用了,报错的根本原因是什么?28.怎么判断链表有没有环29.Malloc使用要注意什么30.Malloc和new的区别31.Shell脚本写过吗32.除了局部变量和全局变量 还有什么变量 分别有什么作用上述问题都收录到我的面经专栏订阅专栏的小伙伴们 *************************** *********************  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
笔试在招聘过程中发挥着重要的作用,它可以测试考生的基础知识和解决问题的能力。然而,有些人可能认为笔试并不那么重要,因为在整个面试阶段中占比相对较低。这种观点是不准确的,笔试依然是用来筛选优秀候选人的重要手段。下面我将分享一些高效刷题的策略,帮助你在笔试中取得好成绩。在刷题过程中,许多人习惯将题目按照算法分类,如贪心、二分、动态规划等。然而,这种分类方法过于笼统,当我们拿到一道题时,最好的思路是培养一种题感,思考如何切入和解题的方向。题目所需的算法解法是思考的第二步。重要的是培养出正确的思考方向,而不是依赖于分类来做题。另外,对于平时刷题,市面上有许多题库,尤其是LeetCode等。这些题库中的题目众多而杂乱。逐一刷题会消耗大量时间。实际上,很多题目可以拆解成多个小题目,或者一道题目可以涵盖多个知识点,这类题目通常是高质量的。多刷高质量的题目既可以节约时间,也可以培养深度思考能力。在刷题过程中,最重要的不是只会做某一道题,而是培养自己的思考能力。面试官在面试过程中最希望看到的就是你的思考过程。切忌过早地放弃思考,直接看答案。至少要花费30分钟深入思考,这样才能获取到一道题目中最精髓的内容。否则,这道题目就对刷题而言是浪费的。同时,当你看完题解后,要思考的不仅是题目的解答,更要思考为什么一开始没有想到这种解法,以及如何培养出灵感。这种反思和思考也是非常重要的。笔试在招聘过程中起着重要的作用。通过高效刷题可以提升解题能力和思考能力,展现出色的表现。因此,在备考过程中,不要低估笔试的重要性,并采用合适的策略进行刷题,例如培养题感、选择高质量题目和深度思考。相信这些方法会帮助你在笔试中取得好成绩,为自己的职业发展铺平道路。#晒一晒我的offer##24届软开秋招面试经验大赏##面试#  小李刷题之路-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/jvNEaj
0 点赞 评论 收藏
转发
0 点赞 评论 收藏
转发
头像
2023-10-31 11:56
已编辑
算法工程师
数组分为三部分1.做好初始定义 2.运用基础算法思想 3.双索引技巧-对撞指针 4.双索引技巧-滑动窗口1.做好初始定义移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。解法难点就是不复制原数组要原地修改,解法为设置一个res,记录前面的0的个数,每次插入时只要插入到nums[i - res]中即可移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。解法和移动零一样,只不过换成了判断是否等于val删除有序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。解法利用双指针,j用来存储应该插入的下标,i用来遍历关注我有更多刷题技巧,收录到我的专栏中,我的专栏会由简到难的介绍刷题的技巧 #软件开发薪资爆料#  #晒一晒我的offer#   数据结构-算法导论-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/jvNEaj
0 点赞 评论 收藏
转发
牛客网
牛客企业服务