码迷,mamicode.com
首页 >  
搜索关键字:程序员面试    ( 337个结果
【程序员面试金典】面试题 03.05. 栈排序
题目 栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。 示例1: 输入: ["SortedStack", "pus ...
分类:编程语言   时间:2020-06-20 22:06:30    阅读次数:57
【程序员面试金典】面试题 03.02. 栈的最小值
思路 借助辅助栈保存当前栈最小值。 入栈:如果入栈元素小于最小栈的栈顶元素,则同时加入最小栈;否则,将最小栈栈顶元素再次加入最下栈 出栈:同时弹出两个栈中元素 代码 时间复杂度:O(1) 空间复杂度:O(1) class MinStack { stack<int> st1; stack<int> s ...
分类:其他好文   时间:2020-06-17 20:02:45    阅读次数:47
面试官:你来举个栗子,如何使用异步设计提升系统性能?
最新互联网大厂面试真题、Java程序员面试策略(面试前的准备、面试中的技巧)请移步GitHub对于开发者来说,异步是一种程序设计的思想,使用异步模式设计的程序可以显著减少线程等待,从而在高吞吐量的场景中,极大提升系统的整体性能,显著降低时延。因此,像消息队列这种需要超高吞吐量和超低时延的中间件系统,在其核心流程中,一定会大量采用异步的设计思想。接下来,我们一起来通过一个非常简单的例子学习一下,使用
分类:其他好文   时间:2020-06-14 11:00:45    阅读次数:56
如何学习源码?阿里架构师教你一招攻破源码难关
最新互联网大厂面试真题、Java程序员面试策略(面试前的准备、面试中的技巧)请移步GitHub对于很多开源软件来说,如果我们把它作为我们业务系统的重要组成部分之一,真正地用于生产,仅仅知道如何使用是远远不够的,你必须掌握它的实现原理和很多细节,这样才能找到最佳的使用姿势,当你的系统出现问题时,你才有可能基于它的实现原理,再根据一些现象来排查问题原因。掌握这些开源软件的最佳方式就是去学习它的源代码。
分类:其他好文   时间:2020-06-14 10:54:46    阅读次数:84
【程序员面试金典】面试题 02.06. 回文链表
题目 编写一个函数,检查输入的链表是否是回文的。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 思路 利用栈来逆序判断。 代码 时间复杂度:O(n) 空间复杂度:O(n) class Solution { public: bool is ...
分类:其他好文   时间:2020-06-13 19:26:40    阅读次数:59
如何设计一个基础服务?看完这篇文章别再说不会、不懂、不知道
最新互联网大厂面试真题、Java程序员面试策略(面试前的准备、面试中的技巧)请移步GitHub我们知道,落地一个微服务其实并不困难,但要实现一个能够高度复用的共享服务并不容易,在落地过程中,经常会有一系列的问题困扰着我们。我们事先对服务的边界没有进行很好的划分,结果在落地的过程中,大家反复争论具体功能的归属。由于对业务的了解不够深入,我们要么设计不足,导致同一个服务有很多版本;要么服务过度设计,实
分类:其他好文   时间:2020-06-13 11:05:31    阅读次数:72
公司新来的阿里P7大牛,只用十分钟就教会了我实现高层次的复用
最新互联网大厂面试真题、Java程序员面试策略(面试前的准备、面试中的技巧)请移步GitHub作为开发人员,你对复用这个概念一定不陌生。在开发过程中,我们把系统中通用的代码逻辑抽取出来,变成公共方法或公共类,然后在多个地方调用,这就是最简单的技术上的复用。但一开始,我们不会过多地考虑复用,当一个新项目过来,我们会选择最直接的方式来实现,结果往往是欲速而不达,比如说:好不容易搞定了一个项目,接着又有
分类:其他好文   时间:2020-06-13 10:57:06    阅读次数:75
【程序员面试金典】面试题 02.05. 链表求和
题目 给定两个用链表表示的整数,每个节点包含一个数位。 这些数位是反向存放的,也就是个位排在链表首部。 编写函数对这两个整数求和,并用链表形式返回结果。 示例: 输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295 输出:2 -> 1 -> 9,即912 进阶:假设 ...
分类:其他好文   时间:2020-06-12 20:00:03    阅读次数:53
P6到P7只用了两年,阅码无数的阿里大佬,是如何去阅读别人代码的?
最新互联网大厂面试真题、Java程序员面试策略(面试前的准备、面试中的技巧)请移步GitHub一、为何要读别人的代码?我们去阅读别人的代码,通常会带有一定的目的性。完整把一个系统的代码“读懂”需要极大的精力。所以明确阅读代码的目标很重要,因为它决定了你最终能够为这事付出多大的精力,或者说成本。大体来说,我们可以把目标分为这样几种类型:我要评估是否引入某个第三方模块;我要给某个模块局部修改一个Bug
分类:其他好文   时间:2020-06-12 10:56:36    阅读次数:110
这可能是把MyBatis缓存特性讲的最清楚的一篇文章了
最新互联网大厂面试真题、Java程序员面试策略(面试前的准备、面试中的技巧)请移步GitHub一、缓存简介一般我们在系统中使用缓存技术是为了提升数据查询的效率。当我们从数据库中查询到一批数据后将其放入到混存中(简单理解就是一块内存区域),下次再查询相同数据的时候就直接从缓存中获取数据就行了。这样少了一步和数据库的交互,可以提升查询的效率。但是一个硬币都具有两面性,缓存在带来性能提升的同时也“悄悄”
分类:其他好文   时间:2020-06-12 10:47:23    阅读次数:54
337条   上一页 1 2 3 4 5 ... 34 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!