avatar
文章
40
标签
0
分类
4

首页
时间轴
标签
分类
jhhuangのblog
首页
时间轴
标签
分类

jhhuangのblog

集度面经
发表于2023-10-17|面经
一面: 自我介绍+项目 八股 tcp和udp的区别,tcp的粘包如何解决 区别 连接性和可靠性 tcp面向连接,确保数据的可靠传输,提供错误检测、重传机制和流量控制,确保数据的顺序和完整性。 udp面向无连接,不保证数据的可靠传输。不提供错误检测、重传机制和流量控制。传输速度快但是不保证数据的顺序和完整性 通信方式 tcp采用全双工通信,允许双方在通信中同时发送和接收数据。 udp可以是单工或双工通信。 头部开销 tcp头部开销较大,udp较小。 流量控制和拥塞控制 tcp提供,以避免网络拥塞和丢包。 udp不提供,由程序处理。 粘包现象 概念:发送多个小数据包时,接收方可能一次性接收到多个数据包。 原因:1. 发送方连续发送小数据包,可能会被合并成一个大的tcp段。2. 网络拥塞和优化算法,可能会使多个数据包被合并到一起以提高网络效率。 解决方法: 消息界定符 固定消息长度 头部指定长度信息 使用应用层协议按规定的数据格式来处理数据 linux下动态库如何调用,环境变量名称叫什么 环境变量名称:LD_LIBRARY_PATH 设置方法:export LD_LIBRARY_PA ...
代码随想录算法训练营day40 | 343.整数拆分
发表于2023-09-27|刷题笔记
理论基础 刷题笔记day39 343.整数拆分 文章讲解:代码随想录 是否自己做出来通过全部用例:否 遇到的困难/犯的错误 没有思路。 自己写的代码 看了题解后写的: class Solution { public: int integerBreak(int n) { vector<int> dp(n+1, 0); dp[0] = 0; dp[1] = 0; dp[2] = 1; for (int i = 3; i <= n; i++) { for (int j = 1; j <= i/2; j++) { dp[i] = max(max(j*(i-j), j*dp[i-j]), dp[i]); } } return dp[n]; } }; 看了题解后的收获 比较难想到。 63. ...
代码随想录算法训练营day39 | 62.不同路径 63.不同路径 II
发表于2023-09-27|刷题笔记
理论基础 刷题笔记day39 题目 文章讲解:代码随想录 是否自己做出来通过全部用例:是 遇到的困难/犯的错误 无 自己写的代码 class Solution { public: int uniquePaths(int m, int n) { vector<vector<int>> dp(m, vector<int>(n, 0)); for (int i = 0; i < m; i++) { dp[i][0] = 1; } for (int j = 0; j < n; j++) { dp[0][j] = 1; } for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { dp[i][ ...
实习总结
发表于2023-09-19|实习收获
工作任务 任务一:基于SOME-IP协议,在双机上实现雷达数据服务的发布/订阅与测试; 任务二:开发自动化配置脚本,实现在Veristand中自动化配置AFP(自动帧处理)通道接口,服务于仿真测试。 工作过程 任务一 1、跑通SOME-IP双机通信:学习以太网和SOME-IP相关知识,学习和了解SOME-IP源码中的发布/订阅和请求/响应两个模式的路由原理,了解配置文档中各个参数的意义,实现SOME-IP双机通信。 2、优化服务端程序:基于发布/订阅服务端源码,将真实服务端相关信息写入配置文档和代码中,改进已序列化的VTD雷达数据报文,以SOME-IP协议提供雷达点云数据服务和状态数据服务; 3、开发消费端程序:基于发布/订阅消费端源码,将真实消费端相关信息写入配置文档和代码中,开发基于真实控制器信息的SOME-IP消费端通信仿真程序,实现雷达数据服务的发布/订阅; 4、测试雷达数据准确性:使用Wireshark对服务端提供的雷达数据抓包,将数据包导入RSView中实现对雷达数据的可视化测试; 任务二 1、开发数据筛选脚本:基于已解析的DBC文件中的所有数据,从中筛选用于设置AFP通道 ...
代码随想录算法训练营day38 | 509.斐波那契数 70.爬楼梯 746.使用最小花费爬楼梯
发表于2023-09-17|刷题笔记
理论基础 动态规划基础 动态规划五部曲 dp数组及下标的含义 递推公式 dp数组如何初始化 遍历顺序 打印dp数组 背包问题 打家劫舍 股票问题 子序列问题 刷题笔记day38 509.斐波那契数 文章讲解:代码随想录 是否自己做出来通过全部用例:是 遇到的困难/犯的错误 无 自己写的代码 class Solution { public: int fib(int n) { if (n <= 1) return n; vector<int> dp(n+1, 0); dp[0] = 0; dp[1] = 1; for (int i = 2; i <= n; i++) { dp[i] = dp[i-1] + dp[i-2]; } return dp[n]; } }; 看了题解后的收获 用动规代替递归可以降低时间复杂度。 70.爬楼梯 文章讲解:代码随想录 ...
nivssdf文件修改脚本使用说明
发表于2023-09-14|实习收获
源文件 源文件包含: DBCAnalysis.m 功能:解析dbc数据并提取所有Chks和Cntr及其所属message的信息至txt文档; Modifysdf.cpp 功能:基于txt文档,修改nivssdf文件。 tinyxml2.cpp/tinyxml2.h 功能:用于解析xml的开源库; run.bat 功能:可执行文件运行脚本,实现循环地运行所选的程序。 编译可执行文件 在当前目录下打开cmd,输入: mcc -m DBCAnalysis.m g++ Modifysdf.cpp tinyxml2.cpp tinyxml.h -o Modifysdf 生成两个可执行文件: DBCAnalysis.exe Modifysdf.exe 运行脚本 运行run.bat: 输入"1":运行DBCAnalysis.exe 输入"2":运行Modifysdf.exe 输入"q":退出脚本 脚本输入输出 DBCAnalysis.exe 输入:需要解析的dbc所在路径 输出:包含从dbc中提取的message、Chks和Cntr数 ...
代码随想录算法训练营day28 | 93.复原IP地址 78.子集 90.子集II
发表于2023-09-08|刷题笔记
刷题笔记day28 93.复原IP地址 文章讲解:代码随想录 是否自己做出来通过全部用例:否 遇到的困难/犯的错误 回顾回溯算法。 自己写的代码 看了题解后写的: class Solution { public: vector<string> result; void backtracking(string& s, int start, int pointnum) { if (pointnum == 3) { if (isvalid(s, start, s.size() - 1)) { result.push_back(s); } return; } for (int i = start; i < s.size(); ++i) { if (isvalid(s, start, i)) { ...
vsomeip环境搭建+双机通讯
发表于2023-08-09|实习收获
ubuntu系统下的vsomeip环境搭建 一种可运行环境配置 vsomeip 3.3.8 cmake 3.27 boost 1.78 下载源码 去gitcode/github上下载源码 vsomeip源码下载 或者直接执行 git clone https://gitcode.net/mirrors/COVESA/vsomeip.git 可以得到最新版本的vsomeip源码。 安装依赖项 cmake 安装 用sudo apt-get install cmake安装的cmake的版本较老,已经不适用。 需要我们去官网上找较高版本的cmake进行下载安装。 cmake官网地址 可以自行选择下载一个较新的版本。 也可以直接从github上克隆最新版,目前是3.27。 git clone https://github.com/Kitware/CMake.git 下载后打开文件夹,按步骤执行命令 ./bootstrap make sudo make install make过程大概需要十几二十分钟 上述全部执行完 执行cmake -version能查到版本信息就说明安装成功了。 卸载 回 ...
代码随想录算法训练营day27(day28补) | 39.组合总和 40.组合总和II 131.分割回文串
发表于2023-08-08|刷题笔记
刷题笔记day27 39.组合总和 文章讲解:代码随想录 是否自己做出来通过全部用例:否 遇到的困难/犯的错误 这里回溯的时候startindex不需要+1。 自己写的代码 class Solution { public: vector<vector<int>> result; vector<int> elements; void backtracking(vector<int>& candidates, int target, int sum, int startindex) { if (sum > target) return; if (sum == target) { result.push_back(elements); return; } for (int i = startindex; i < candidates.size(); + ...
代码随想录算法训练营day25(day27补) | 216.组合总和III 17.电话号码的字母组合
发表于2023-08-07|刷题笔记
刷题笔记day25 216.组合总和III 文章讲解:代码随想录 是否自己做出来通过全部用例:否 遇到的困难/犯的错误 for (int i = startindex; i <= 9; ++i) 其实条件是int i = startindex,不是i = 1; 终止条件中,即使sum != n也要return; 自己写的代码 class Solution { public: vector<int> path; vector<vector<int>> result; void backtracking(int k, int n, int startindex) { if (path.size() == k) { if (accumulate(path.begin(), path.end(), 0) == n) result.push_back(path); return; } for (i ...
12…4
avatar
jhhuang
文章
40
标签
0
分类
4
Follow Me
公告
This is my Blog
最新文章
集度面经2023-10-17
代码随想录算法训练营day40 | 343.整数拆分2023-09-27
代码随想录算法训练营day39 | 62.不同路径 63.不同路径 II2023-09-27
实习总结2023-09-19
代码随想录算法训练营day38 | 509.斐波那契数 70.爬楼梯 746.使用最小花费爬楼梯2023-09-17
分类
  • C++八股1
  • 刷题笔记27
  • 实习收获10
  • 面经1
归档
  • 十月 20231
  • 九月 20236
  • 八月 20237
  • 七月 202326
网站资讯
文章数目 :
40
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By jhhuang
框架 Hexo|主题 Butterfly