即刻雾联面经

第一个面试官

1.java有哪些数据类型

2.StringBuilder,StringBuilder了解吗

3.讲一下反射

4.集合的话说一下List Map Set(第一次被问答的有点乱)

5.有哪些是线程安全的集合

6.平时怎么处理异常的

7.throw和throws这两个有什么区别吗(主动抛异常,声明方法可能抛出异常)

8.内存泄露和内存溢出有了解吗

9.跨域问题遇到过吗

10.spring常用的注解

11.controller和restcontroller有什么不一样的吗

12.介绍一下IOC和AOP

13.在操作数据库的时候有没有遇到死锁的问题

14.介绍一下TCP与UDP

15.接口是优选https还是http呢,证书是自己买的吗

16.手写二分查找

17.怎么知道自己服务器被压测了的

第二个面试官

1.你怎么理解String的不可变性

2.怎么在不改变内存地址的情况下改变String的值

3.finally有不执行的情况吗

4.说一下数据库的索引吧

5.什么是回表

6.怎么避免回表

7.SpringAop中哪几个通知(不会最终通知异常通知)

8.@Bean和@Component有什么区别

9. ${}和#{}的区别

10.前序遍历(先写的递归,让我用迭代,我只说了一下思路忘记怎么写了)

总结:

很多问题第一次被问,感觉答的很混乱,有的时候还会忘记点,只能多面熟能生巧了

全部评论
博主 您offer是当时给的吗 还是过了几天通知的呀
点赞 回复 分享
发布于 04-29 15:25 北京
请问这两个面试官是线下面了两次还是一次面完的
点赞 回复 分享
发布于 04-26 18:04 北京
强强强
点赞 回复 分享
发布于 04-24 17:10 北京
mark一下面经
点赞 回复 分享
发布于 04-23 09:13 广西
去线下面的吗学弟
点赞 回复 分享
发布于 04-22 20:09 北京

相关推荐

04-27 16:50
已编辑
门头沟学院 Java
1. mysql删除表语句是什么?drop和truncate区别?2. 删除一行数据的sql3. 查询一张表所有的数据的sql4. 查询一张表有多少条数据sql。  count(1)和count(*)区别5. i++和++i区别6. 介绍下重载和重写。  构造方法可以重写重载吗?7. arraylist和linkedlist的区别8.解释一下深拷贝和浅拷贝9. 如果有三个线程,我如何能保证顺序执行.方法1: 使用join()join() 方法可以确保一个线程在另一个线程执行完毕后才开始执行。通过合理地调用 join(),可以实现线程的顺序执行。方法2:使用countdownlatch/semaphore方法3: 使用锁和原子类,wait() + notifyAll()方法4: 使用completablefuture10. 如果有一个 T1 线程,想把 T2 线程加到 T1 里面,怎么实现?方法1. 使用join()Thread t2 = new Thread(() -> {    // T2 线程的执行逻辑    System.out.println("T2 线程正在执行");});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                // T1 线程在此处等待 T2 线程执行完成        t2.start();  // 启动 T2 线程        t2.join();    // T1 等待 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException e) {        e.printStackTrace();    }});t1.start();方法2. 使用future.get()ExecutorService executor = Executors.newSingleThreadExecutor();Future future = executor.submit(() -> {    // T2 线程的执行逻辑    System.out.println("T2 线程正在执行");});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                // T1 线程在此处等待 T2 线程执行完成        future.get();  // 阻塞直到 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException | ExecutionException e) {        e.printStackTrace();    } finally {        executor.shutdown();    }});t1.start();方法3. 使用countdownlatchCountDownLatch latch = new CountDownLatch(1);Thread t2 = new Thread(() -> {    try {        System.out.println("T2 线程正在执行");    } finally {        latch.countDown();  // 完成时减少计数    }});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                t2.start();  // 启动 T2 线程        latch.await();  // 等待 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException e) {        e.printStackTrace();    }});t1.start();11. a=a+b 和 a+=b的区别a = a + b,如果 a 和 b 的类型不同(如 a 是 int,b 是 double),需要显式强制类型转换,否则会编译报错。即:double a= 1;int b = 2;a = (double) (a+b); a += b,会自动执行隐式类型转换,将结果转换为 a 的类型。13. 数据库的三大范式如答案有错误欢迎指正
查看24道真题和解析
点赞 评论 收藏
分享
评论
4
9
分享

创作者周榜

更多
牛客网
牛客企业服务