JAVA基础开发面试

好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言。

JAVA基础开发常见面试题

1:  如何看到加班
2:项目中使用了, 不会技术,你会咋处理
3:代码规范
4:   出差 短期

这里总结一些工作常用的java基础面试题。
主要内容:java基础、数据库、部署、springcloud了解情况

1 数据结构的了解情况

  • 400、403、404、500、504 含义.
  • 队列和栈的特点
  • 在JAVA的实现类 或者 开发有遇到的场景

2 集合的理解

  • JAVA集合List的去重,如何去重? 场景,一堆学生,名字相同表示重复
    • 去重如何使用Set, HashSet和TreeSet去重机制有和不同
  • 集合如何转Map? 隐身出来 jdk8 stream

3 JAVA SE基础只是

  • 开发中何时使用包装类,何时使用基本数据类型
  • 开发中,金钱计算相关的, 如何避免精度缺失。

4 JDK8新特性

  • Stream流的使用,各种操作,去重、转换、排序、聚合、list=>map、int=>long集合
  • 日期和时间的变化

5 重复提交问题解决

注册用户,loading设置的有问题 或者 多个浏览器同时操作 ,会导致重复注册。(不要考虑手机/邮箱验证码的问题)
  • 使用同步处理,加入 Lock/synchronized , 并发变 同步, 等一个提交完成、然后判断,没有重复才能提交; 或者数据库索引最保险; 或者 乐观锁/悲观锁,并发少的情况,使用乐观锁 version处理; 或者使用redis锁,先并发变同步,然后数据库查询判断/redis查询判断。

6 简单的多线程问题

场景:我排虫爬取所有的快递公司的信息,3000-4000至少;每一个必须进入快递详情页面才能获取快递公司详细信息,请求次数很多,单线程大概要
  • 多线程的几种方式
    • Thread、Runable 区别, 但启动线程必须是Thread start方法
    • Callable 有返回值的 ,一般用 FutureTask(本质是RunableFuture子类)实现,放入 Thread, 执行完毕,futureTask.get 阻塞等待获取返回值.
  • 线程池的使用
    • ExecutorService
    • 如何等待所有线程池执行完毕,CountDownLatch 进行计数,执行一个计数一次,await进行等待。

7 mybits面试问题

  1. $ # 作用,区别
  2. mybits里面传参有哪几种方式, map对象、@Param

8 数据库面试问题

  1. Text啥情况使用,mysql 推荐使用 bigtext
  2. 常见函数

9 其他通用问题

  1. 加班问题
  2. 出差问题
  3. springboot了解
  4. springcloud了解情况
  5. 分布式节点项目,定时任务如何处理?同步/锁 如何做?上传文件如何处理?
  6. 运维方面: linux问题?nginx? 等
  7. 其他导入导出、邮件、支付(微信、支付宝、stripe)、第三方登录、小程序接口相关、动态文件模板化(发邮件 欢迎xx注册成功之类、网页详情)
  8. 至少一个前端框架,jQuery、Vue、React、bootstrap等
  9. 框架MQ(rabbitMq)、Nosql(redis)、搜索引擎Sola
  10. rabiitmq、rocketmq、MongoDB、
  11. docker部署、ftp
版权声明:程序员胖胖胖虎阿 发表于 2022年11月3日 上午10:48。
转载请注明:JAVA基础开发面试 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...