诺瓦星云-秋招一面

2024年的秋招面试经验,一直没来得及分享。近期有时间了才整理了一下,希望对大家有帮助。

参考面经:

https://www.nowcoder.com/feed/main/detail/ac784cd328c340b79f6e9d1a53e7921a?sourceSSR=search

https://www.nowcoder.com/feed/main/detail/9646a5eba9a2468681ff6e1294390f6a?sourceSSR=search

声明:考察基础的编程能力、设计模式以及通讯、数据库、算法

自我介绍 1min30s

八股 15min

【C++】指针传递和值传递的区别?

【C++】new和malloc的区别?

【开发】项目开发中常使用哪些debug方式?(答了vs断点、单步调试)

【面向对象】了解哪些设计模式?简单介绍一下概念和应用场景。(单例、工厂、桥接,重点介绍了桥接,说讲的非常好。)

【面向对象】观察者模式了解过吗?(没有)

【开发】项目过程中有没有画过时序图和类图?画图的工具是什么?(没有正规的画过,有梳理自己的架构构想。用的processOn)

【C++】Map是有序还是无序的?有序的是哪种Map,无序的又是哪种 ?底层是怎么实现的?

【C++】冒泡算法的时间复杂度和空间复杂度?O(n^2)是最小、最大还是平均?分别是多少?(没答上来最大,也是n方)

【C++】快排的优势?解释一下什么是快排?(快排只答了快,没说出优势;解释的很乱)

【网络】TCP与UDP的区别、分别有什么特性、各自的应用场景?

【网络】UDP在什么情况下可能会丢包?(只讲了网络阻塞,没说全)

【网络】是否使用过Tcp Dump?(使用过Wireshark)

【Linux】如何查看内存占用情况?(不会)

【操作系统】进程与线程有什么区别?

【操作系统】你在项目开发过程中,是否又使用过多线程的例子?解释一下多线程在其中实现的功能。(说了remote,但没说清楚多线程,只说了线程池,没提到同步、线程安全)

【操作系统】有没有遇到过死锁,或者说你认为什么是死锁?

【操作系统】如何破坏死锁?还有别的方法吗?(只讲了破坏循环,没说全)

项目 6min

简单介绍一下你做的这些项目中你认为哪个项目中最难,然后它这个难点在哪里。

对于你刚刚说的项目及解决过程,有没有去整理一套,如果再出现类似的问题,有没有一套处理问题的流程?

有没有做过软硬件结合的项目?

反问

部门工作语言?

C++,QT,GoLang,C#,然后MCU IPG那边也有。

想要更好的在部门进行工作并且提升自己的话,可以从哪些方面去入手、去进行一个知识的补充呢?

深圳岗目前就是两个方向,一个就是GoLang,然后一个是C#。他们在这个我们的业务链中处理的一个作用是,Go的话主要是负责上位机,也就是你可以认为它就是一个前端,前端的接口通信。它就是负责UDP上报以及WebSocket的通讯,还有HTTB的一个接口请求。然后的话就是还有跟硬件,就是IPG和MCU的话,我们会有一个UDP和串口通信。然后的话就是C#,C#它主要的工作内容就是做IC驱动的一个识别兼容,然后就是登板排布顺序、以及它的扫付规律,然后把这些生成一个类似配置文件的,然后生入到那个——我们登板后面会有一个芯片,就是一个接收卡的芯片,然后升级到那个芯片中。

后续大概几天会得知到自己的后续情况?

一共是两轮技术面,然后一轮是领导确认,然后最后一个就是HR给你们谈行资什么的。最多是一周也就五个工作日给答复。

全部评论
佬,诺瓦还不跑吗
点赞 回复 分享
发布于 03-30 18:01 陕西

相关推荐

前情提要:https://www.nowcoder.com/share/jump/1744867053616--太长不看,直接先上整理的面经# 4399 - java只有一面 ● 你为什么选择投递Java后端开发岗位?  ● Java和Go语言的优缺点是什么?  ● 你了解Go语言的协程实现吗?  ● 在Go语言中,编写协程时需要关注哪些问题?  ● Go语言中,有哪些方案可以保证并发安全?  ● Go语言中常见的原子操作有哪些?  ● Go中的sync.WaitGroup和sync.Once有什么区别?  ● 如果第三方接口返回的数据类型不确定,你会如何设计数据结构?  ● 如何处理Go语言中接口的空类型?  ● 如果你请求第三方接口时出现超时,你会如何处理?  ● 在Go语言中,如何使用Context实现请求超时?  ● Go语言中常用的ORM框架有哪些?  ● MySQL中常见的锁类型有哪些?  ● MySQL中的间隙锁是如何产生的?  ● Redis中常见的数据存储结构有哪些?  ● 如果有多个服务器需要加锁处理接口请求,你会怎么做?  ● 如何实现分布式锁?在Redis中,分布式锁会用到哪些命令?  ● 如果分布式锁没有正常释放,你会如何进行容灾处理?  ● 如果加了分布式锁后,业务长时间被阻塞,如何减少服务不可用的时间?  ● 如何监控接口响应时间并优化服务的可用性?  ● 如果你需要将代码部署到阿里云的Linux服务器上,你会如何做?  ● 如何在Windows开发环境下打包Go语言代码,并使其在Linux环境中运行?  ● 你觉得自己做的哪些项目比较有亮点?  ● 在设计单点登录系统时,遇到的核心难点是什么?  ● 为什么你选择找实习,除了零花钱,还有哪些原因?  ● 如果公司需要你学习新的编程语言,你是否有信心快速上手?  ● 你的学习规划是什么样的?  # 讯飞 - java - 消费者 只有一面  ● Golang语言的优势和劣势是什么?  ● 你之前在抖音服务端开发的项目中,团队的规模有多大?  ● 作为服务端后端负责人,你在项目中具体负责哪些工作?  ● 你是如何管理项目的节奏和设计文档的?  ● 在团队协作中,你是如何分配任务和沟通进度的?  ● 在项目中遇到过团队成员之间的认知偏差,如何处理?  ● 你在项目中遇到过哪些技术上的挑战或难题?  ● Golang语言中,内存泄漏的常见原因是什么?  ● 如何排查Golang中的内存泄漏问题?  ● Go语言的协程与传统线程有什么区别?  ● Go语言是如何实现协程之间的通信的?  ● MySQL的索引结构是什么?  ● B+树是什么样的结构,它有哪些特性?  ● 聚簇索引和非聚簇索引有什么区别?  ● 如果一个表没有主键,它还会有聚簇索引吗?  ● 如果我们在多个字段上建立联合索引,字段顺序是a、b、c,查询条件为b=... and a=...,会使用该索引吗?  ● 为什么MySQL使用MVCC来实现不同的事务隔离级别?  ● 你在项目中使用过Redis吗?  ● 使用Redis作为缓存时,如何保证缓存和底层数据的一致性?  ● 当某些数据访问频繁时,删除缓存可能会带来压力,如何优化?  ● 在高并发的场景下,如何优化旁路缓存策略?  ● 如果遇到DB和缓存不一致的情况,如何解决?  ● Redis的高性能是如何设计出来的?  ● Redis为何采用单线程模型,它的性能优势是什么?  ● 在高并发场景下使用分布式锁时,如何避免加锁带来的性能问题?# 知乎 - 监控组● 前缀树是什么?它的应用场景是什么?  ● LRU缓存是怎么实现的?  ● 你能解释一下虚拟内存吗?它解决了什么问题?  ● 如果宿主机的CPU打爆了,你如何判断哪个进程占用了最多的CPU资源?  ● 软链接和硬链接有什么区别?  ● 什么是上下文切换?一般在什么情况下会发生上下文切换?  ● 如果创建了10万线程来处理任务,会有什么问题?除了内存泄漏和性能问题,还有哪些方面会受到影响?  ● 你怎么分析慢SQL查询?  ● IP协议和ARP协议的作用分别是什么?  ● 如果带宽不是瓶颈,如何快速传输大文件?  ● Singleflight的机制是什么?  ● TCP的流量控制和拥塞控制有何不同?  ● 如何调整TCP的滑动窗口大小,以确保最大的吞吐量?  ● 常见的限流算法有哪些?漏桶算法和令牌桶算法有什么区别?  ● 雪花算法是什么?为什么你在项目中使用了它?  --面试上的反思的话,最开始也好像也没太多好说的:问题后面还是改掉了大部分只是最开始面试的话,根本就不怎么会面试虽然我也是前暑期,大二下就开始的了但是我根本没那么强的学习进化能力这是比较让人绝望的事情经历回顾的话,我的秋招是从十月末开始的那个时候已经准备从实习离职了,没转正然后其实当时,根本就没多少中大厂能过我的简历想了下后面还是详细开另一个帖子专门说我的秋招详细经历和心路,如果有人感兴趣的话这里就先打住这里只说跟面试强相关一点的事情了清楚记得第一个过我简历还是4399所以虽然面试体验不好?好像也没太不好,算一般吧。只是公司比较一般面4399的时候,更多是基础知识没答上来。一些场景分析欠佳现在想来的话,其实这些东西都能背不是只停留在对基础知识的理解,而是确实去针对针对问题的回答演练所以当时得出的一个很重要的结论是,模拟面试和刷面经很重要。想起来了,面试官迟到+只面了30min,只能说态度还行这个是实习中面的,偷感拉满当时装作去对接安卓头头离开的工位讯飞忘了是什么阶段了当时在校还找不到面试的地方在图书馆阳台面的,环境比较差整体好像回答得还行,但是也是一面就挂了算是第一个还挺想去的厂梦碎了当时应该是问得算简单,但是几个关键技术问题答得不是很完美就挂了不过说起来讯飞挺看测评的,面试的时候还问我有认真做没知乎也清楚记得,是离职前一天面的很有意思,当时馒头还说我们这边挺方便的,到处都是能面的会议室然后整体知乎算是第一次给我打上一点自信的面试体验还不错,面试官虽然没开麦,但是会充分引导你然后这场突出一个酣畅淋漓其实问题不止上面那些,是ai提取的,如果想要详细的可以私我就是问的问题都挺有难度,但是我也能答出来一些虽然最后还是不合要求给挂了
青春猪头少年不能没有offer:佬真的很优秀,加油!哥们也还在找
点赞 评论 收藏
分享
一句话总结:客户端复杂度不如后端一根毛。愿世上再无坑人的客户端招聘1.以前做客户端开发,那可需要实打实的技术。要搭建复杂的项目框架,像搭建一座高楼一样,从底层开始,一步都不能错。处理网络请求时,得考虑各种网络状况,确保数据准确、及时地传输。数据存储也是个大难题,要选择合适的存储方式,优化存储结构,提高数据读写效率但现在有了Cursor,只要输入简单的需求描述,它就能生成代码框架,还能帮忙处理网络请求和数据存储的代码。很多原本需要深入思考和复杂操作的工作,瞬间变得简单。这就导致,原本体现开发者技术价值的工作,变得没什么技术含量,很多人都能借助工具完成。2.对于想从事客户端开发的人来说,现在的就业环境变得更严峻了。企业在招聘时,会考虑既然借助Cursor很多人都能完成工作,那对开发者技术水平的要求可能就会降低。这就导致大量非专业出身,或者技术水平一般的人涌入这个行业,竞争变得异常激烈。 对于有经验、技术好的客户端开发者来说,他们的优势也很难在求职中凸显出来。因为企业可能更看重成本,既然普通开发者借助工具也能完成工作,为什么要花高价聘请技术高手呢?3.在职业发展方面,Cursor的出现也让客户端开发者的成长空间受到限制。以往,开发者通过解决复杂的技术难题,积累经验,提升自己的技术水平,从而获得晋升机会。但现在,很多难题都能被Cursor轻松解决,开发者失去了锻炼和成长的机会。而且,随着Cursor等工具的普及,企业可能会减少对客户端开发者的岗位需求,甚至可能将一些客户端开发工作外包给低成本的团队或个人。这就导致客户端开发者在公司内部的晋升机会减少,职业发展前景变得黯淡。#牛客AI配图神器#
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客企业服务