好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言。
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面试问题
- $ # 作用,区别
- mybits里面传参有哪几种方式, map对象、@Param
8 数据库面试问题
- Text啥情况使用,mysql 推荐使用 bigtext
- 常见函数
9 其他通用问题
- 加班问题
- 出差问题
- springboot了解
- springcloud了解情况
- 分布式节点项目,定时任务如何处理?同步/锁 如何做?上传文件如何处理?
- 运维方面: linux问题?nginx? 等
- 其他导入导出、邮件、支付(微信、支付宝、stripe)、第三方登录、小程序接口相关、动态文件模板化(发邮件 欢迎xx注册成功之类、网页详情)
- 至少一个前端框架,jQuery、Vue、React、bootstrap等
- 框架MQ(rabbitMq)、Nosql(redis)、搜索引擎Sola
- rabiitmq、rocketmq、MongoDB、
- docker部署、ftp
相关文章
暂无评论...