首页 > 记一家小公司Java面试
头像
日常想当咸鱼
编辑于 2020-08-12 13:07
+ 关注

记一家小公司Java面试

竟然有3轮技术面,现在都这么难了吗
整个面试体验很好,流程也快,也有不少收获

投递&笔试 8.6

一共5道编程题,都是lc原题,买股票含冷冻期那题没做出来(之前见过这道题但没做过,当时那个后悔啊)

第二天就通知当天面试,被我推掉了

一面 8.10

第一次面试官到得比我早,基本上按照简历问的,大概50分钟

  1. 自我介绍
  2. Spring动态代理实现方式
  3. 会哪些设计模式,讲了单例,问了单例好处、饿汉与懒汉
  4. 讲观察者模式,好处是啥(没答上来,后来问了面试官讲是解耦和添加观察者不用修改代码)
  5. Mybatis Mapper原理,返回Java对象用到了Java啥特性
  6. 分页用啥
  7. UDP适用场景,怎么保证可靠
  8. MySQL更新时什么锁,什么时候会是行锁
  9. B+与B树区别,为啥MySQL用B+树
  10. 哪个数据库用的B树,它为啥用B树(答不知道),会MongoDB吗(答用过但不熟)
  11. 写题,一道是判断第一个数组最大的50个数之和是否比第二个数组最大的50个数之和大(我是先用快排找到最大50个数,然后面试官问能用Java中的啥简化代码,就又写了堆排),第二题打家劫舍3(磕磕绊绊写出来了,面试官讲有问题,我也没懂问题在哪,后来在lc跑了下过了!)
  12. 反问

刚面完hr就通知下午二面,又被我推到了第二天

二面 8.11 上午

又是50多分钟,基本都在问我的垃圾项目

  1. 自我介绍
  2. 项目
    1. 讲下架构设计
    2. 数据库优化(怎么设计的索引,我又讲了我反范式的设计)
    3. XX并发很大怎么办(面试官讲延时更新数据库,用mq)
    4. 看我用了es,我讲只是会用,就问了我用什么分词的,类型是啥(忘了)
    5. 为啥用caffeine做本地缓存,和redis有啥区别,经常更新本地还缓存吗
    6. 数据库与缓存一致性
  3. B+树缺点(从来没想过缺点,经提示想到如果用B树可能第二层就能找到,而B+要到叶子结点),覆盖索引,联合索引顺序问题(好像我讲错了啥,面试官问知道索引下推吗),怎么查看索引执行情况
  4. 关系型数据库与非关系数据区别
  5. 写了一道跟集合相关的题,自定义一个类Question,对List<Question>根据id去重,后来又改为去重时选择score最大的,我用到了map,面试官问知道merge()方法和BiFunction
  6. 紧接着BiFunction,聊到了lamda表达式,传入的实参还是形参,然后问lambda内可以修改外部的变量吗,为啥,如果要修改怎么办
  7. 泛型特性,能不能有两个只是泛型不同的方法
  8. 反问

hr面

三面之前进行了个hr面,没有自我介绍真好,一共10多分钟,聊得很愉快

三面 8.11 下午

面了一个小时10多分钟,基本上都是开放性问题,讲是leader面,可是看起来好年轻啊

也没有自我介绍 开心

  1. 项目收获(其实好想说没收获)

  2. 详细问了权限控制模块

  3. 聊了一些杂七杂八的

  4. 数据库相关,锁、隔离级别、索引(建索引要注意啥)这些,数据库与缓存一致

  5. 数据量很大的话,要展示在页面上有哪些方法可以减少时间(我讲了分页、索引、缓存)

  6. 也是数据量很大,但是只是在前端做的假分页,问可能造成什么问题(我从数据库、响应时间、线程分析了下,面试官提示从jvm考虑,我将可能会OOM,又问发生OOM后应用服务器会发生啥)

  7. 哪些数据适合HTTP缓存(静态资源),看我简历写了HTTP,问看过书吗(没看),了解到啥程度,简单讲了下,就问了下缓存

  8. servlet、filter、listener这些(忘完了,竟然讲servlet比filter先执行 尴尬)

  9. void doFilter(request, resp){
        UserRole role=getRole(request);
        String path=request.getServletPath();
        // TODO: 权限校验
    
    }
    
    匿名用户:"/home", "/resources/.*"
    老师:"/home", "/teacher/.*", "/resources/.*"
    学生:"/home", "/student/.*", "/resources/.*"

    又问了如果改需求老师不能访问home怎么改,然后我给了个通用的思路(UserRole维护一个可以访问路径的集合,再用一个map存几种角色的UserRole,又问这属于什么设计模式)

  10. ip地址转数字

  11. 反问(了解到竟然还要写前端,难怪追着问token前端怎么存,还讲有在用jsp,劝退)

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐