程序员代码面试题
sjk1996
好好学习
展开
-
面试 网络基础部分
1.TCP/IP分别在模型的哪一层? 应用层运输层 TCP网络层 IP数据链路层物理层 2.socket长连接是什么意思?socket是应用层与TCP/IP协议族中间的软件抽象层, 是一组接口.长连接是指socket连接后不管是否使用都保持连接。3.select和epoll你了解么,区别在哪?select和epoll这两个机制都是多路I/O机制的解决方案多路IO机制, 就是把所有的描...原创 2018-03-29 21:23:38 · 746 阅读 · 0 评论 -
面试题python语法以及其他基础部分
1.列表推导list comprehension和生成器的优劣? 列表解析代替了可以代替lambda, map, filter函数, 减少函数调用次数, 提高效率。受到内存限制,列表容量肯定是有限的, 创建一个一百万元素的列表, 如果我们只用到前面几个元素, 那么绝大部分空间都被浪费了。生成器表达式并不创建一个真正的列表, 返回一个生成器, 每次调用next返回下一个元素,遍历完抛出stopIte...原创 2018-03-29 21:24:01 · 616 阅读 · 0 评论 -
设计一个有getMin功能的栈
【题目】实现一个特殊的栈, 在实现栈的基本功能的基础上, 在实现返回栈中最小元素的操作。【要求】1. pop, push, getMIn操作的时间复杂度都是O(1)。2. 设计的栈类型可以使用现成的栈结构。【难度】一星【方案1】返回栈中最小元素, 我们可以遍历整个栈, 但是要求getMin的时间复杂度为O(1), 我们只好另想办法。我们可以牺牲空间来换取时间, 设计两个栈——stackData, ...原创 2018-03-25 14:56:51 · 433 阅读 · 0 评论 -
有两个栈组成的队列
【题目】编写一个类, 用两个栈实现队列, 支持队列的基本操作(add, poll, peek).【难度】二星【分析】栈是先进后出, 就像超市摆放的纯牛奶, 最先摆放的在最底下, 买家肯定是最后取走。队列先进先出, 就像去食堂排队, 最先排队的最先买饭, 最先走人。然而我们可以用两个栈模仿队列——stackPush, stackPopstackPush只管压入数据stackPop负责弹出数据如图1-...原创 2018-03-27 14:41:21 · 137 阅读 · 0 评论 -
如何仅用递归函数和栈操作逆序一个栈
【题目】 一个栈依次压入1、2、 3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后, 从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数来实现, 不能用其它数据结构。【难度】两星【解答】本题我们要实现两个递归函数——getAndRemoveLastElement,reversegetAndRemoveLastElement(Stack<In...原创 2018-03-27 15:39:28 · 173 阅读 · 0 评论