志翔科技一面

1.自我介绍
2.项目经历+难点问题的解决方案。
3.数据结构与算法:
(1)描述栈 队列 堆的概念
栈:线性结构,先入后出(FILO)
队列:线性结构,先入先出(FIFO)
堆:线性结构,完全二叉树
(小根)堆的性质:根节点的值小于等于左右子节点的值
队列的种类:单向队列 双向队列 循环队列 阻塞双向队列 非阻塞队列 优先队列 并发队列
是否了解python中的deque?线性结构,可在两端进行插入删除操作。
如何实现优先级队列?通过小根堆可实现优先级队列。
是否了解堆排序,堆排序如何实现 ?堆排序的时间复杂度 ?
将数组先初始化为大根堆,将堆顶元素与堆最后一个元素交换,同时堆的size-1,维持堆的性质,直到堆为空。时间复杂度为O(nlgn)

(2) 树 图
如何通过非递归的方式实现深度优先遍历和广度优先遍历?通过栈实现

是否了解python中list的底层实现方式。

4.网络与操作系统考察:
(1)tcp与udp的区别
(2)描述tcp三次握手
(3)两次握手客户端已经简历tcp连接,为什么需要第三次握手?
(4)tcp连接对操作系统的负担(消耗文件句柄)
(5)进程之间通信的方式:socket通信 管道 共享内存
(6)命名管道与匿名管道的区别,linux管道符使用的是匿名管道or命名管道?
(7)共享内存是进程间通信最快的方式,那么共享内存的通信原理是什么?
(8)进程控制块中有哪些信息?
(9)进程的物理地址与逻辑地址分别指什么?

你可能感兴趣的:(面试集锦)