数字马力 电话一面

下午的面试,近段时间面试的第一家公司

很长时间没面试了 脑子像进水了 表现特别差 感觉挂定了

大概30分钟问答+20分钟算法题

首先自我介绍,然后问项目,你参与的哪些模块,实现的功能,上来就被问懵了。

接下来是技术问题:

java基础:

  • 抽象类和接口的区别
  • hashmap底层原理
  • cookie和session的区别

数据库:

  • 事物的ACID特性
  • 事物的隔离级别
  • 什么是幻读?哪些隔离级别会出现幻读
  • mong数据库的优化
  • 悲观锁和乐观锁
  • Java中怎么实现悲观锁

Redis:

  • redis持久化机制
  • redis分布式锁
  • redis可以满足事务ACID哪些属性?
  • redis的优化?

Spring:

  • spring aop是什么?实现方式?哪些应用?
  • spring bean的生命周期?依赖的注入方式?

Rabbit MQ:

  • 什么是rabbitMQ?
  • rabbitMQ分布式

其他:

  • 分布式CAP了解
  • docker是什么?docker和虚拟机的区别
  • 从http://baidu.com开始请求到最后响应的流程?
  • git fetch和git merge的区别
  • HTTP的三次握手和四次挥手

最后一道算法题:

  • leetcode45

我的答案 测试用例过了25/109,复盘发现这道题也没答上来,离进二面就差一个蜀道难。

public int jump(int[] num){
    int len = 0;
    for (int i = 1; i < num.length; i++) {
        // 判断大小  前者比后者大  记录一次
        if(num[i] > num[i-1]){
            len++;
            if(len+num[i] >= num.length){
                break;
            }
        }
    }
    return len;
}

官方答案:

	public static int jump2(int[] nums){
	        int end = 0;//上次跳跃可达范围右边界
	        int maxPosition = 0;//边界,当前能够到达的最大下标位置
	        int steps = 0;//跳跃次数
	        for (int i = 0; i < nums.length-1; i++) {
	            maxPosition = Math.max(maxPosition, i + nums[i]);
	            //到达上次跳跃的右边界
	            if (i == end){
	                end = maxPosition;
	                steps++;
	            }
	        }
	        return steps;
	    }
	

总结:

面的一塌糊涂 ,全军覆没吧。如果我是面试官,我自己都不会让我过。

人家接着奏乐接着舞,咱接着投递接着面。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值