5.10 字节后端一面

选一个项目介绍项目难点,怎么解决的(鼠鼠的项目没什么亮点,随便讲了个自制的类型擦除解决运行时需要不定个数不定类型参数的函数调用,和用c++20协程实现的通信管理)

为什么要用c++20协程(比回调更容易看懂好维护)

进程和线程的区别

线程同步的方式

两个线程共享变量如何避免冲突

除了加锁还有什么方式(原子类型std::atomic<T>,go channel)

CRTP了解么(奇异递归模板模式,模板基类的类型参数是它的派生类)

为什么需要这个(基类需要获取派生类的信息,实现静态多态,例如std::enable_shared_from_this<T>)

TCP和UDP的区别

UDP的使用场景

TCP会有丢包问题么,怎么解决的

随便聊聊语言

java为什么要搞jvm(胡扯了一些。。JIT某些情况下可能比AOT性能高,JVM也能跑别的语言Scala之类的,诞生的口号就是Build once, run anywhere,编译一次在任何系统上装JVM就能运行)

既然JVM有这么多好处,go又为什么不需要而是直接编译成二进制(继续扯。。比较适合云原生场景,每个容器都得装JVM体积太大)

MySQL索引的实现

为什么要用B+树而不是红黑树之类的

聚簇索引和非聚簇索引的区别

B树插入一条数据的过程

255级B树在多少条数据时会达到瓶颈

索引失效的场景

手撕:1. O(n)时间求字符串中含有’a’,’b’,’c’的子串数量

写了个滑动窗口过了给的三个用例,面完细想又感觉好像有点不对

2.给一排树的坐标和高度,砍掉的树不能互相覆盖也不能砸到没砍的树,求最多能砍多少树

只让讲下思路,感觉是三个状态加上条件判断的打家劫舍

#字节面经##软件开发2024笔面经#
全部评论
太牛逼了我哥
点赞
送花
回复 分享
发布于 05-12 19:46 澳大利亚

相关推荐

RESTful&nbsp;API是一种基于HTTP协议的Web服务架构风格,它以资源为中心,通过HTTP方法(如GET、POST、PUT、DELETE)对资源进行操作。下面是一些常见的RESTful&nbsp;API设计规范和最佳实践:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&amp;uuid=b48bebe08e474db8b80b853b12bafd48使用清晰的资源命名:API的端点应该使用名词,而不是动词。例如,使用&quot;/users&quot;来表示用户资源的集合,使用&quot;/users/{id}&quot;来表示单个用户资源。使用HTTP方法进行操作:使用HTTP的不同方法(GET、POST、PUT、DELETE)对资源进行不同的操作。GET用于获取资源,POST用于创建资源,PUT用于更新资源,DELETE用于删除资源。使用HTTP状态码:正确使用HTTP状态码可以提供有关请求结果的信息。常见的状态码有200表示成功,201表示资源创建成功,400表示客户端请求错误,404表示资源不存在等。使用资源版本控制:在API中引入版本控制是一种良好的实践,可以确保对API进行更改时不会破坏现有的客户端应用程序。使用合适的数据格式:常见的数据格式包括JSON和XML,但根据需求也可以选择其他的格式。JSON是当前最常用的格式,因为它是轻量级的、易于阅读和解析的。使用正确的HTTP头部信息:使用合适的Content-Type头部信息来指示请求或响应中的数据格式,并使用合适的Accept头部信息来指示客户端期望的响应数据格式。使用URI来表示关系:在URL中使用合适的路径表示资源之间的层次关系或关联关系,遵循RESTful风格。提供合适的错误处理:在API中,要提供清晰和有用的错误信息,包括错误代码、错误消息和可能的解决方案。使用认证和授权机制:对于需要身份验证和授权的API操作,应该实施适当的安全措施,如使用API密钥、OAuth等来保护资源的访问。
点赞 评论 收藏
分享
5 15 评论
分享
牛客网
牛客企业服务