百度提前批go一面

北京-C++/PHP/GO研发工程师(J73089)

https://talent.baidu.com/jobs/center

问题

rpc和http的区别

  • RPC(Remote Procedure Call):是一种通过网络从远程计算机程序上请求服务的协议,而不需要了解底层网络技术的细节。RPC允许程序调用远程服务,就像调用本地服务一样。
  • HTTP(HyperText Transfer Protocol):是一种用于传输超文本的协议,主要用于Web浏览器和服务器之间的通信。HTTP是无状态的,每个请求都是独立的。

http和https的区别

  • HTTP(HyperText Transfer Protocol):是一种无状态的应用层协议,用于传输超文本。
  • HTTPS(HTTP Secure):是在HTTP的基础上加入了SSL/TLS协议,用于加密数据传输,确保数据的安全性和完整性。

go的gmp模型

  • GMP模型:Go语言的并发模型,包含三个主要组件: G(Goroutine):轻量级线程,由Go运行时管理。M(Machine):操作系统线程,负责执行Goroutine。P(Processor):逻辑处理器,负责调度Goroutine到M上执行。

go的new 和 make的区别

  • new:用于分配内存,返回指向零值的指针。
  • make:用于初始化内置的数据结构,如slice、map和channel,返回初始化后的值。

从关闭的go channel里面读会发生什么

  • 从关闭的channel读取数据时,如果channel中还有未读取的数据,会继续读取数据,直到数据被读完。之后,再次读取会返回零值,并且不会阻塞。

go的引用类型

  • Go语言中的引用类型包括:slice、map、channel、interface和function。这些类型的变量存储的是对底层数据结构的引用。

go的hashmap,以及sync下的map

  • Go的hashmap:即map,是一种键值对数据结构,使用哈希表实现。
  • sync.Map:是Go标准库中的并发安全的map,适用于多线程环境下的读写操作。

context的使用

  • context:用于在Go中传递上下文信息,控制goroutine的生命周期。常用于处理超时、取消操作和传递请求范围内的数据。

红黑树的特点

  • 红黑树是一种自平衡二叉搜索树,具有以下特点: 每个节点是红色或黑色。根节点是黑色。每个叶子节点(NIL节点)是黑色。如果一个节点是红色,则它的两个子节点都是黑色。从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

计算机网络OSI七层模型

  • OSI模型分为七层: 物理层:传输原始比特流。数据链路层:提供节点间的数据传输。网络层:负责数据包的路由。传输层:提供端到端的通信。会话层:管理会话和连接。表示层:处理数据格式和加密。应用层:提供网络服务和应用。

tcp和udp的区别

  • TCP(Transmission Control Protocol):面向连接的协议,提供可靠的数据传输,保证数据按顺序到达。
  • UDP(User Datagram Protocol):无连接的协议,不保证数据的可靠传输,适用于对速度要求高但对可靠性要求低的场景。

SSL是怎么建立的

SSL(Secure Sockets Layer)协议用于在客户端和服务器之间建立安全的通信通道。以下是SSL建立连接的过程:

  1. 客户端Hello:客户端向服务器发送一个Hello消息,其中包含客户端支持的SSL/TLS版本、加密算法、压缩方法和一个随机数。
  2. 服务器Hello:服务器响应客户端的Hello消息,选择SSL/TLS版本、加密算法、压缩方法,并发送一个随机数。
  3. 服务器证书:服务器向客户端发送其数字证书,证书中包含服务器的公钥和由可信的证书颁发机构(CA)签名的证书链。
  4. 服务器Hello Done:服务器发送一个Hello Done消息,表示服务器Hello阶段结束。
  5. 客户端验证服务器证书:客户端验证服务器的数字证书,确保证书有效且由可信的CA签名。
  6. 客户端密钥交换:客户端生成一个预主密钥(pre-master secret),使用服务器的公钥加密该预主密钥,并将其发送给服务器。
  7. 服务器解密预主密钥:服务器使用其私钥解密预主密钥。
  8. 生成会话密钥:客户端和服务器使用双方的随机数和预主密钥生成会话密钥,用于对后续通信进行加密。
  9. 客户端Finished:客户端发送一个Finished消息,表示客户端的握手过程结束。该消息使用会话密钥加密。
  10. 服务器Finished:服务器发送一个Finished消息,表示服务器的握手过程结束。该消息也使用会话密钥加密。
  11. 安全通信:客户端和服务器使用生成的会话密钥进行加密通信,确保数据的机密性和完整性。

通过上述步骤,SSL协议在客户端和服务器之间建立了一个安全的通信通道,确保数据在传输过程中不被窃听和篡改。

算法

5L的水桶和6L的水桶如何得到3L的水

等于k值的子数组个数

不含重复字符的最长子串

总结

osi七层模型忘了,后面面试官就问了数据链路层,网络层和传输层,也忘了,然后面试官就问我是不是没有学过,我说我没有复习,有点难崩。大部分是go的问题,算法题也挺简单。最后我问了他们是做什么的,他们做的是tob,用到k8s和go,我猜是做的云原生相关的东西。

#百度求职进展汇总#
全部评论
m
点赞 回复 分享
发布于 2024-08-06 11:48 广东
二面了吗佬
点赞 回复 分享
发布于 2024-08-05 10:04 北京
是商业架构组吗,我的一面为什么是3和算法题 二面也就是普通的聊天 没有问八股什么的
点赞 回复 分享
发布于 2024-08-03 19:35 北京
佬有二面了吗
点赞 回复 分享
发布于 2024-08-03 16:51 湖北
佬 你是哪个部门呀 C++ go都会吗
点赞 回复 分享
发布于 2024-08-01 08:56 天津

相关推荐

12-19 15:48
门头沟学院 Java
点赞 评论 收藏
分享
11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
12-04 16:18
已编辑
东华理工大学 前端工程师
面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗  他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了  好好准备,等待明天的影石360和周四的腾讯了  加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
9
46
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务