数字马力 后端开发 一面二面面经(社招)

时隔1年,甚是感慨,没想到这么快又来面试了。

一面(30分钟)2023.07.10

  1. 自我介绍
  2. 能简单说一下用了哪些设计模式
  3. 能简单描述一下策略模式吗?策略模式和if-else有什么区别,怎么定义策略类的
  4. Linux在一个目录下面,有100个文件,需要匹配以 ‘query’ 开头的日志,并且把数量统计一下,用什么命令 (grep -c '^query' /path/to/directory/*)
  5. Java版本用什么
  6. 平时有用多线程吗
  7. 用过stream和lambda表达式吗
  8. 有一个list,包含字符串,先转换成大写,然后再对这个list进行排序
public class StringListSorting {
    public static void main(String[] args) {
        List<String> myList = new ArrayList<>();
        myList.add("apple");
        myList.add("banana");
        myList.add("orange");
        myList.add("grape");

        // 转换为大写形式
        List<String> uppercaseList = new ArrayList<>();
        for (String str : myList) {
            uppercaseList.add(str.toUpperCase());
        }
        // 或者使用流式操作
        // List<String> uppercaseList = myList.stream().map(String::toUpperCase).collect(Collectors.toList());

        // 对转换后的列表进行排序
        Collections.sort(uppercaseList);
        // 或者使用流式操作
        // List<String> sortedList = uppercaseList.stream().sorted().collect(Collectors.toList());

        System.out.println(uppercaseList);
    }
}

9、你们Redis的使用场景,具体怎么去用

10、基于Redis做分布式锁有使用Lua脚本吗

11、两张表,一个是员工表

副表

筛选出某部门工资最高的员工的name

SELECT e.name 
FROM employee e 
INNER JOIN department d ON e.departmentId = d.departmentId 
WHERE d.departmentName = '目标部门名称' 
ORDER BY e.salary DESC 
LIMIT 1;

12、会用反射之类的吗

13、对数据库索引有一些优化吗

14、假如有sql比较慢,怎么去优化

15、三数之和

16、反问

二面(20分钟)2023.07.13

  1. 自我介绍
  2. 项目中主要做那一块的工作
  3. 项目中具体做了哪些性能优化
  4. 大数据量表除了分表还有什么优化方式(分库、加索引、数据归档)
  5. 什么情况用到Redis,怎么用,怎么做分布式锁
  6. 为什么可以Redis可以用做分布式锁
  7. 为什么不用其他的,而用Redis
  8. 比较过Redis和其他缓存框架的性能吗
  9. Memcached能用作分布式锁吗
  10. 为什么可以Redis可以用做分布式缓存,Memcached能做到吗
  11. 有没有什么项目留下深刻印象
  12. 工作中看过什么其他技术(大概说了下k8s)
  13. 能说一下什么是配置中心吗
  14. 了解过多线程吗
  15. 为什么不要new Thread()
  16. 写个造成死锁的代码
public class DeadLockDemo {
    private static Object resource1 = new Object();//资源 1
    private static Object resource2 = new Object();//资源 2

    public static void main(String[] args) {
        new Thread(() -> {
            synchronized (resource1) {
                System.out.println(Thread.currentThread() + "get resource1");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println(Thread.currentThread() + "waiting get resource2");
                synchronized (resource2) {
                    System.out.println(Thread.currentThread() + "get resource2");
                }
            }
        }, "线程 1").start();

        new Thread(() -> {
            synchronized (resource2) {
                System.out.println(Thread.currentThread() + "get resource2");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println(Thread.currentThread() + "waiting get resource1");
                synchronized (resource1) {
                    System.out.println(Thread.currentThread() + "get resource1");
                }
            }
        }, "线程 2").start();
    }
}

17、除了用synchronized加锁还有其他方式加锁吗

18、用ReentrantLock怎么实现

19、反问

#数字马力社招#
全部评论
HR压薪资还是比较狠的….有点不爽
1 回复 分享
发布于 2023-08-29 22:45 江苏
为啥参加社招
点赞 回复 分享
发布于 2023-07-15 23:15 北京
老哥是自己辞了还是公司毕业了
点赞 回复 分享
发布于 2023-07-16 11:59 上海
Redis问的好多呀
点赞 回复 分享
发布于 2023-07-17 12:02 台湾
佬是上班的时候面的吗
点赞 回复 分享
发布于 2023-07-17 17:05 广东
好难。。
点赞 回复 分享
发布于 2023-07-18 02:53 河北
大佬你是长沙的岗位吗 是两轮技术面吗 为啥我有三轮技术面啊
点赞 回复 分享
发布于 2023-07-21 22:33 湖南
马上第三面 楼主最后去了吗
点赞 回复 分享
发布于 2023-07-30 21:57 广东
几年经验呢?
点赞 回复 分享
发布于 2023-12-28 11:28 北京
大佬问一下数字马力社招问八股多一点还是项目多一点?有笔试吗,微服务那些问的多吗?
点赞 回复 分享
发布于 03-05 10:09 山东

相关推荐

9月笔试,10.12一面,10.15二面,10.28意向#数字马力##数字马力面经#数字马力&nbsp;-&nbsp;一面&nbsp;(过)50min+●&nbsp;自我介绍●&nbsp;实习内容都有些什么?&nbsp;&nbsp;○&nbsp;云上巡检具体是干什么的?&nbsp;&nbsp;○&nbsp;云上巡检多久一次巡检?●&nbsp;如果要日活量达到百万这个级别,课表推送该怎么做?&nbsp;-&nbsp;引入消息队列,采用多线程分治●大批量查询数据这种查询,比如Excel一个导出功能的时候需要查询很大的一个数据量的结果,有没有什么好的实现方案?&nbsp;-多线程并发&nbsp;&nbsp;CountDownLatch&nbsp;●ThreadLocal&nbsp;有用到过吗?在使用过程中有什么需要注意的点?会不会造成内存泄漏?●git&nbsp;遇到代码冲突,在同一个分支上协作的时候如何解决冲突?●maven&nbsp;依赖冲突如何解决?●MySQL&nbsp;底层索引是什么?为什么选择B+Tree●设计表结构的时候怎么去使用索引?●如何分析一条SQL?主要是看哪几个字段?比如它命中了哪个索引,命中的索引类型是什么?索引命中的多少条?●MySQL&nbsp;有哪几种锁?锁是如何用的?用在什么索引上面?●MVCC&nbsp;的原理讲一讲●设计模式中的策略模式有用过吗?怎么用的?●在项目中,学校之间会有些共性的特征,我们如何去封装这些共性特征呢?●有没有考虑过策略模式中加上上述这种思想?●讲一下AOP我们一般都用在什么场景?自定义注解加在哪里?自定义注解加上私有方法上可以吗●动态代理的两种实现说一下●Spring如何解决循环依赖的问题?第三级缓存是为了解决什么问题?数字马力&nbsp;-&nbsp;二面(过)40min+●&nbsp;自我介绍三分钟,再将一些比较擅长的一些技能、亮点的地方。●&nbsp;进入公司实习后团队内部让我承担的职责,为什么要让我去做这方面的事情?这个需求的背景是什么?在这中间做了哪些事情?以及对于这些需求我是如何实现的?中间遇到的难点有哪些?&nbsp;&nbsp;○&nbsp;一下子有点被问懵逼了●&nbsp;cmdb中的数据与部门数据库中的数据是如何保证一致性的?&nbsp;&nbsp;○&nbsp;巡检模块,定期巡检报警,无风险直接操作,有风险手动发工单与业务方确认无影响之后进行手动变更。●&nbsp;如果调用的数据量很多,在获取数据的时候我要如何读取,如何写?&nbsp;&nbsp;○&nbsp;还是问的实习,其实感觉面试官想问的是大数据量场景下我要如何去优化读写操作。●&nbsp;巡检完后进行修正,是自动的还是什么?&nbsp;&nbsp;○&nbsp;其实就是对于无风险的数据操作直接修正,有风险的数据操作还是发工单与业务部门沟通确认后再进行修正●&nbsp;我负责的数据修正治理的工作为什么会出现这个数据不一致的问题?有没有想过从源头入手彻底解决这个问题?&nbsp;&nbsp;○&nbsp;有,但不多。1.&nbsp;团队内部对实习生权限管控很严格。2.历史遗留问题太大,涉及到公司内部团队很多,产出比低。●&nbsp;我之前说os相关模块工作,主要是碰到了什么问题?&nbsp;&nbsp;○&nbsp;代码架构混乱,优化os模块的架构使用了工厂模式、策略模式。对于一些共同行为和方法抽取成抽象类继承。●&nbsp;阿里云cos那边的接口有什么数据不满足我们需求?&nbsp;&nbsp;○&nbsp;数据粒度的问题。阿里给的数据无法满足团队内部需要的更细的数据粒度。●&nbsp;os数据巡检模块如何设计的?&nbsp;&nbsp;○&nbsp;工厂模式、策略模式、面向接口开发方法。使用&nbsp;go&nbsp;的组合等等●&nbsp;公司内部具体用哪个云?&nbsp;&nbsp;○&nbsp;其实都有用,但是侧重点不同。●&nbsp;阿里云oss它的同城冗余、可用区冗余的含义及其区别?●&nbsp;可用区,从物理现实的角度讲一讲它的概念?&nbsp;&nbsp;○&nbsp;把可用区这样那样的优点、缺点稍微说了一下●&nbsp;为什么大家都流行去搞一些同城冗余,而不是做一些跨地域跨城市之间的冗余?&nbsp;&nbsp;○&nbsp;一是成本问题,二是没必要。各云服务厂商基本上都能保证极高的数据安全性、可用性,极大程度上保证了数据不丢失。●&nbsp;项目中的一个背景是什么?(上上个实习做的项目)●&nbsp;你是如何去进行项目整体架构重构,来适应业务变化的?&nbsp;&nbsp;○&nbsp;老规矩,工厂模式,策略模式,单例模式,面向接口开发,一套军体拳●&nbsp;某个业务数据存储的一个数据结果是什么?●&nbsp;我是如何参与到这个项目中的?●&nbsp;在项目遇到过的困难和故障?&nbsp;&nbsp;○&nbsp;直接吟唱最近遇到的一个threadlocal相关的数据污染的故障,然后引出对应的八股,基本上全答上来了&nbsp;&nbsp;○&nbsp;threadlocal底层数据结构、key是什么,如果要跨线程传递threadlocal?●&nbsp;反问:对应这次面试的表现:整体来说不错,就是太紧张,需要去引导。
查看39道真题和解析
点赞 评论 收藏
分享
12 71 评论
分享
牛客网
牛客企业服务