2021-03-09

2021.03.09阿里淘宝技术部java研发实习生一面


电话面试,比想象中要轻松。相对于问答,更偏向于聊天。
Q1:数据结构中有哪些线性结构
A:(回答了数组和链表,忽略了队列和栈)
1.顺序表
2.链表
3.栈
4.队列
Q:数组和链表的区别
A:(并没有很好的表达出来,思维有些混乱,基础知识还是不够扎实)
数组:
随机访问性强,查找速度快。
插入和删除效率低。
必须有连续的内存空间,可能浪费内存。
链表:
插入删除速度快。
内存利用率高。
大小不固定, 扩展比较灵活。
不能随机查找,必须从第一个开始遍历,查找效率低。
Q:队列和栈的特点
A:(提到队列是先进先出,栈是先进后出)
栈是限定只能在表的一端进行插入和删除的线性表,队列是限定在表头进行插入,在表尾进行删除的线性表。
遍历速度不同
栈只能从栈顶取数据,最先放入的数据需要遍历整个栈才能取出来,而且在遍历数据的时候还要为数据开辟临时空间,保持数据在遍历前的一致性;
队列基于地址指针进行遍历,而且可以从头部或尾部进行遍历,但不能同时遍历,无需开辟地址空间,速度要快的多。
Q2:深度优先搜索和广度优先搜索
A:(刚刚有刷过这一类的题,没能很好的表达出来,不知道该如何表达这个思想)

Q3:说一下TCP和UDP的特点
A:TCP是面向字节流的,面向连接的,提供可靠交付服务的,端到端的通信协议。
UDP是无连接的,不可靠的,快速传输的通信协议。
Q:TCP/IP协议共多少层
A:(将ISO的7层和TCP/IP的5层协议记混了)
OSI协议是由ISO制定的,OSI将计算机网络体系结构划分为7层,从下到上依次为:
物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
TCP/IP协议被简化为4个层次,从下到上依次为:
数据链路层
网络层
运输层
应用层
Q:UDP是无连接的,那它是如何将数据发送出去的?
A:(之前重点都放在TCP上,忽略了UDP,一脸懵)
UDP的通信过程较TCP简单了许多,减少了TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议。
UDP客户端在发送数据时并不判断主机是否可达、服务器是否开启等问题,它也不能确定数据是否到达服务器,只是将数据简单的封了一个包,之后就丢出去了。
Q4:说一下快速排序的过程吧
A:思路是选定主元,调整序列中的元素,使得调整后主元左侧的元素均小于等于主元,右侧的元素均大于主元。对主元左侧和右侧元素分别进行递归调整,直到当前调整区间长度不超过1。
调整过程:将序首元素赋给一个临时变量,令left, right分别指向序列首尾。
1.如果right指向的元素大于临时变量,令其不断左移,当right指向的元素小于等于临时变量时,将right指向的元素挪到left处。
2.如果left指向的元素小于等于临时变量,令其不断右移,当left指向的元素大于临时变量时,将left指向的元素挪到right处。
重复以上两个过程,直到left与right相遇。
Q5:在校期间有没有做过一些小程序或者项目之类的
A:(面试官说没有项目经验影响不大,但我能感觉到有项目经验是非常有利的)
这次电面感觉自己相较之前有了些许长进,虽然结果并没有什么不同(依然GG),但是经历了几次面试后也有不少收获,重点是方向越来越明确,动力越来越强大,更加清晰的认识到自己还有很长的一段距离要走,很多东西要学,加油吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭动手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值