前言
最好的学习状态不是为了学习而去学习,把学习融入生活,管理好自己的节奏
秋招临近,能否找到心仪的工作,知识面试和算法能力依旧占了大头,因此我开始了面向校招学习篇,旨在帮助大家巩固基础,天道酬勤!
文章收录至个人专栏🦠专栏:Go每日必知 关注我,你每天能学到干货满满
文章目录
基础面试题-五道
面试题参考资料:极客兔兔博客
1. = 和 := 的区别
答:
= 表示:赋值
var a int
a = 1
:= 表示:声明+赋值
b:=2
2. 指针的作用是什么?
答:用于存储变量的内存地址,可以被用来在函数之间传递变量或者修改变量的值
*运算符:用于访问地址中的值
&运算符:用于返回变量中的地址
3. Go中允许多个返回值吗?
答:允许返回多个值
例子:
func hello(a,b int) (int,error){
return a,nil
}
4. Go中有异常类型吗?
答:Go中没有异常类型,只有错误类型,通常使用返回值来表示异常状态
5. 什么是协程,什么是进程,什么是线程?
答:进程是操作系统分配资源的基本单位,包含多个线程,线程共享进程资源,然后协程作为更加高级的线程模型。
进程是系统进行资源分配和调度的基本单位,每个进程都有独立的内存空间,代码和数据,相互之间数据独立,相互隔离;线程是操作系统进行调度的最小单位,一个进程内可以包含多个线程,它们共享进程的资源,同一个进程中的多个线程之间共享内存,互相之间影响,从而达到更高的并发度;协程是更加轻量级的线程,、它不依赖于操左系统进行调度,而是由程序自身控制,协程利用消费者、生产者模型等方式可实现高并发。
计算机基础
计算机网络篇
问:介绍一下OSI七层模型和TCP五层模型?
OSI七层模型从上到下依次为:
应用层:为应用程序提供网络服务;
表示层:数据格式转换、数据压缩和数据加密;
会话层:建立、断开和维护通信链接;
传输层:为上层协议提供端到端的可靠传输;
网络层:寻址和路由; 数据链路层:定义通过通信媒介互连的设备之间传输的规范;
物理层:利用物理传输介质为数据链路层提供物理连接。
TCP五层模型:
应用层:为应用程序提供网络服务;
传输层:为上层协议提供端到端的可靠传输;
网络层:寻址和路由; 数据链路层:定义通过通信媒介互连的设备之间传输的规范;
物理层:利用物理传输介质为数据链路层提供物理连接。
TCP五层模型相比OSI七层模型,将OSI的应用层、表示层和会话层合为一层:应用层,其他不变。