经纬恒润(linux C++)一面
part1.自我介绍;
part2:项目:
将一个你最熟悉的项目(讲了项目A在车企·域控器的OTA)服了,撞枪口上了 ,他刚好是做这一块的;疯狂深挖;
(1)你们控制板的主控芯片是哪一个?为什么要以这种方式实现监控?刷写逻辑是什么?A/B区切换逻辑?
(2)主控并发获取系统快照写入缓存以后,主线写入日志过程是写入主控日志还是系统日志?如果是写入主控日志,你这种实现在多写入场景下的时间和原有时间帧能同步吗?怎么同步?
(3)刚刚你提到了线程池的入口函数的封装和信号量触发,在哪里触发?线程池的实现的源码有看吗?基于什么实现的?
(4)你们的开发是基于AutoSar还是自己的编译环境?有没有兼容autosar的服务?怎么实现的?#牛客AI配图神器#
(5)实际项目中有涉及过中断操作吗?
(6)像你所说的缓存写入日志的场景如果出现异常或是掉电程序崩溃时你针对缓存数据和日志系统有什么兜底措施吗?怎么实现?回滚的策略是什么?
part3:场景八股
(1)说一个熟悉的stl容器,底层是基于什么实现的?是线程安全的吗?你在什么场景下会用到这个数据结构?插入和删除的时间的复杂度是多少?查找的时间复杂度呢?
(2)将一下lambda表达式有哪些参数可选;各自实现什么功能?你刚刚提到的了返回值自动类型推导,之前还有个mutable参数是什么功能?可以输入什么数据类型?(mutable 默认:值捕获的变量在 lambda 内是 const 的,不能修改。
加 mutable:允许修改值捕获的变量副本(不影响外部)。)
(3)用过智能指针吗?讲一个项目中用到的场景?有什么优缺点?shared_ptr的引用计数的数据类型是什么?
(4)刚刚你提到了熟悉多线程编程,我这里有两个线程,线程A获取锁执行某一模块功能,线程B同理;同时只能由一个线程获取锁,当前内部功能的实现超出预期,线程A不释放锁;如何在线程A功能不受损的情况下让线程B按照原有时序预期获取锁?只用锁操作;(描述有一点点问题,因为最后答案还是设置超时机制强制释放锁);
(5)了解UDS服务和CAN通信吗?
反问,公司部门业务(车联网应用)工作作息;
面试官太专业,语气温和,面试虽然答得依托但是体验狠好;
part2:项目:
将一个你最熟悉的项目(讲了项目A在车企·域控器的OTA)服了,撞枪口上了 ,他刚好是做这一块的;疯狂深挖;
(1)你们控制板的主控芯片是哪一个?为什么要以这种方式实现监控?刷写逻辑是什么?A/B区切换逻辑?
(2)主控并发获取系统快照写入缓存以后,主线写入日志过程是写入主控日志还是系统日志?如果是写入主控日志,你这种实现在多写入场景下的时间和原有时间帧能同步吗?怎么同步?
(3)刚刚你提到了线程池的入口函数的封装和信号量触发,在哪里触发?线程池的实现的源码有看吗?基于什么实现的?
(4)你们的开发是基于AutoSar还是自己的编译环境?有没有兼容autosar的服务?怎么实现的?#牛客AI配图神器#
(5)实际项目中有涉及过中断操作吗?
(6)像你所说的缓存写入日志的场景如果出现异常或是掉电程序崩溃时你针对缓存数据和日志系统有什么兜底措施吗?怎么实现?回滚的策略是什么?
part3:场景八股
(1)说一个熟悉的stl容器,底层是基于什么实现的?是线程安全的吗?你在什么场景下会用到这个数据结构?插入和删除的时间的复杂度是多少?查找的时间复杂度呢?
(2)将一下lambda表达式有哪些参数可选;各自实现什么功能?你刚刚提到的了返回值自动类型推导,之前还有个mutable参数是什么功能?可以输入什么数据类型?(mutable 默认:值捕获的变量在 lambda 内是 const 的,不能修改。
加 mutable:允许修改值捕获的变量副本(不影响外部)。)
(3)用过智能指针吗?讲一个项目中用到的场景?有什么优缺点?shared_ptr的引用计数的数据类型是什么?
(4)刚刚你提到了熟悉多线程编程,我这里有两个线程,线程A获取锁执行某一模块功能,线程B同理;同时只能由一个线程获取锁,当前内部功能的实现超出预期,线程A不释放锁;如何在线程A功能不受损的情况下让线程B按照原有时序预期获取锁?只用锁操作;(描述有一点点问题,因为最后答案还是设置超时机制强制释放锁);
(5)了解UDS服务和CAN通信吗?
反问,公司部门业务(车联网应用)工作作息;
全部评论
相关推荐
10-14 21:06
西北农林科技大学 数据分析师 点赞 评论 收藏
分享
点赞 评论 收藏
分享