百度一面凉经(60min)

虽然我没了,但是还是希望大家能过

百度一面凉经(60min)

  • 自我介绍

  • 项目介绍

    • 用户需求

    • 项目设计

    • redis

      • 是长数据还是短数据

      • 数据变化频率大概多少,是否有必要用redis缓存

      • 可不可以用其他方案,用内存来做缓存(我承认我是为了用redis而用redis,但有一说一,谁会用内存来做mysql缓存啊)

      • 是否知道有一些缓存的开源组件是支持过期时间的吗

        • spring cache

        • guava cache

      • 有效时间设置

    • 是否已经正式上线(感觉看不起demo项目,我说已经部署到了服务器上了)

    • springcloud

      • 注册服务中心是否做了集群

      • 单体架构和微服务架构比较

  • stringbuilder和stringbuffer

  • string的不变性,底层实现

  • 新生代的对象会在什么情况下被移到老年代

    • 躲过15次minor gc之后 也就是分代年龄达到15之后会进入老年代。这个具体是多少岁进入老年代,可以通过JVM参数 “-XX:MaxTenuringThreshold”来设置,默认情况是15岁

    • 动态对象年龄判断 假如说当前放对象的Survivor区域里一批对象的 总大小大于了这块Survivor区域的内存大小的50% ,那么此时大于等于这批对象年龄的对象,就可以直接进入老年代了

    • 大对象直接进入老年代

      有一个JVM参数,就是 -XX:PretenureSizeThreshold“,可以把他的值设置为字节数,比如“1048576”,就是1M如果你创建一个大于这个大小的对象,比如一个超大的数组,或者是别的啥东西,此时就直接把这个大对象放在老年代中,压根不会经过新生代,这样可以避免新生代出现那种大对象,然后在2个Survivor区域里回来复制多次之后才能进入老年代

  • java引用类型

  • redis基本数据类型,用过哪些

  • rabbitmq工作模式(6种,这里犯蠢了,面试官问我资源争抢模式,我没懂,后来发现就是work模式)

  • volatile作用

  • Atomic类实现原理

  • 四次挥手time_wait(2MSL)的作用

  • HTTP响应码301,302

  • 长连接短连接(这里又犯蠢了,我以为他问的是websocket,讲了一堆html5,现在才反应过来)

  • mysql

    • 事务

      • ACID

    • 事务隔离级别

      • 脏读,不可重复读,幻读

      • 互斥锁,mvcc

  • linux命令(这是真的凉凉)

    • 如何创建软连接

    • awk命令

  • 手撕代码(最无语的环节)

    • 单例模式(我竟然写错了,啊啊啊,写了无数遍偏偏面试的时候紧张写错了)

      • 饿汉实现

      • 懒汉实现

      • 静态内部类实现

      • 枚举实现

    • 数组,元素非负,每一个元素值代表该位置可以跳跃的最大距离,问能不能从第一个跳到最后一个

      • 简单的递归五分钟写完,但是让我无语的是面试官看不懂,解释了20分钟,他一直和我争说我哪里哪里不对,我就差拿张纸给他把递归树画出来了,最后讲了半天他终于明白了,我真是。。。。

#校招##Java工程师##面经#
全部评论
老哥 研究生吗
4 回复
分享
发布于 2020-07-30 17:16
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复
分享
发布于 2020-07-30 16:13
阅文集团
校招火热招聘中
官网直投
老哥什么项目
点赞 回复
分享
发布于 2020-07-30 16:37
stringbuilder和stringbuffer 这个主要是要问是否线程安全,不是不变性。 可以来阿里巴巴淘系技术部试试😊😊
点赞 回复
分享
发布于 2020-07-30 17:24
跳跃游戏?楼主是用的回溯吗
点赞 回复
分享
发布于 2020-07-30 19:14
我觉得老哥很强啊,这都挂了嘛😂
点赞 回复
分享
发布于 2020-07-30 19:17
上海吗?
点赞 回复
分享
发布于 2020-08-02 13:25

相关推荐

5 27 评论
分享
牛客网
牛客企业服务