什么专业啊
点赞 1

相关推荐

字符串:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=0dddbed382eb4cd3b0e79d4558d492ad在许多编程语言中,字符串是不可变的。比如在 Python、Java 和 JavaScript 中,对字符串的任何修改都会返回一个新的字符串对象,而不会修改原来的字符串。元组:在 Python 中,元组是一种不可变的数据结构。创建后其中的元素无法被更改、添加或删除。不可变集合:例如 Python 的 frozenset 和 Java 中的 Collections.unmodifiableSet 提供了对集合的不可变视图。持久化数据结构:一些语言(如 Scala)提供了持久化的集合类型,这些集合在修改时会共享内部结构,从而在性能上接近于可变数据结构。函数式编程语言中的不可变数据结构:Haskell 和 Clojure 等函数式编程语言中广泛使用不可变数据结构,提供了高效的不可变列表、映射、集合等。不可变数据结构的缺点尽管不可变数据结构有很多优点,但也存在一些缺点:性能开销:每次改变数据结构时,都需要创建一个新的版本,可能导致性能损失,尤其是在大量数据需要频繁修改的情况下。内存开销:由于每次修改都要创建一个新对象,可能会引发较高的内存消耗。在内存敏感的应用中需要谨慎使用。结论不可变数据结构在现代编程中愈发受到重视,特别是在并发编程和函数式编程中。虽然它们可能在性能和内存使用上有一些劣势,但其带来的可预测性、线程安全性和简化调试的优点使得它们在许多场景下依然是优选方案。选择使用不可变数据结构时,开发人员需要权衡这些优缺点,以适应具体应用的需求。
点赞 评论 收藏
分享
03-12 16:15
已编辑
华中科技大学 Java
3.10字节一面人生第一次面试,70min三部分:项目,八股,算法项目:做的小型支付商城1.为什么要做内网穿透2.如何设计安全认证体系—jwt+spring security3.jwt的流程,如何具体实现的,包含哪些部分4.进一步问,jwt包含的payload部分我放了哪些数据。5.我的订单如何保证扣减一致性,上锁是在订单创建前还是订单创建后,释放锁是什么时候,我的库存扣减发生在什么阶段,你的数据库事务+版本号乐观锁的流程是什么。6.rabbitmq如何实现的,你如何使用的7.若干细节深究,昏了记不清了八股:1.我的项目涉及到了http和https,讲述两者区别,输入一个url,后续过程是什么,http和https对称非对称,客户端发送https请求,后续流程是什么。2.线程,进程,协程的区别,线程和进程哪个消耗大,高并发时候用哪个,为什么,然后记不太清了。3.数据库有哪些索引,分别有什么区别,假设有name,age,性别,如果对name和age建立联合索引,查询流程是什么样的,此时的叶子结点存放的是什么。4.hash了解吗,如何解决hash冲突,链式法,具体如何实现的,最后这个是一个长链还是会后续转化为别的东西。5.还有的记不清了,昏了算法:字符串解码给20分钟,10分钟ac了。反问:这个部门是咋样的,我面试咋样。面试官很认真,全程在记录我的回答,也给我详细介绍了这个部门,但是说我对项目还要加强,有些功能我实现了,但是我不知道我实现了(意思就是理解不透彻吧应该),说我八股有些部分表达不够专业。总的来说,我觉得我回答的蛮好的,基本所有问题都说出来个七七八八,算法也ac了,目前等待后续吧。那3.12 一面挂
查看30道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务