不喝可燃乌龙茶 level
获赞
61
粉丝
28
关注
28
看过 TA
691
门头沟学院
2026
Java
IP属地:广东
暂未填写个人简介
私信
关注
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道真题和解析
0 点赞 评论 收藏
分享
04-18 16:14
已编辑
门头沟学院 Java
1. 介绍实习做了什么项目,开发了什么功能2. CountdownLatch底层原理是否了解3. JVM内存新生代是通过什么策略转移到老年代的?4. 什么类型的对象,或者对 对象使用什么用法,这个对象容易直接进入老年代5. 有什么方法可以让对象尽可能在新生代回收6. 消息队列,消费者消费消息失败,重试的策略是怎么样的7. 垃圾回收器CMS和G1挑一个熟悉的,说说整体的垃圾回收过程8. concurrenthashmap如何实现线程安全9. 多个线程对同一资源进行操作,有什么方法能够保证线程安全,并说说哪种性能好坏10. MySQL事务提交等级有哪些11. 主键索引,普通索引,唯一索引。 在底层数据结构存储方面,有什么区别12. MySQL使用索引去查询数据的过程13. kafka和rabbitmq的区别14. redis的数据结构有哪些?15. Redis的部署方式有几种,有什么区别?16. redis存储有序的集合,该使用什么数据结构17. springboot的启动过程18. spring 切面的底层实现原理反问问了下学习ai技术的建议,面试官回答:我觉得可以从两方面来考虑,第一个来说的话,就是你可以尝试用 AI 编码,就是这个其实对你个人来说还是比较有帮助的,就是让 AI 去实现一些代码开发,而且这个目前还是比较成熟的,因为这个的话一方面你其实可以快速地去完成一。一些工作第二个来讲的话,就是你可以去学习一下,就是说,诶?他那边是怎么样去实现一些功能的?比方说你想让他实现一个什么功能,对吧?那他是怎么实现的?就是你有这么一个类似的这么一个,就可以学习一些他的一个一个实现方案之类的,对吧?这是一块,就是我觉得其实未来工作当中其实用到的会越来越多。第二个点来讲的话,我觉得你可以跑一跑目前比较主流的这么一些 AI 相关的一些模型也好,或者说是一些模式,像Minus,对吧?反正各种东西都可以尝试一下,因为目前这块来讲的话,其实整体的一个使用成本还是很低的,就是很容门槛还是很低的,其实比较容易上手。然后最好就是如果有条件的话,你可以稍微深入去学习一下他的一些。嗯,逻辑就是原理,对吧?这虽然不一定能太深入地去探究,但至少它简单地怎么样去实现的。比方说它内部包含哪些模块什么的,就这些机制上的可以你了解一下,包括像你矫枉自身的一些东西,其实也可以去学习学习了解。
查看18道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务