深圳强时科技有限公司(三面)

  1. 日常寒暄--------略
  2. 在工作中你遇到过哪些棘手的坑?简单列举个说说?------------个人认为这应该不是技术栈的问题,属于工作经验的探底。空指针异常:比如一个bean类中采用包装类型Integer定义的id,然后下面的创建对象获取id无法用返回类型int接收,抛出空指针异常。同样对集合预先进行CollectionUtils.isEmpty(list)判断,遍历list元素的级联调用会报空指针异常。还有就是递归操作很容易提前出现程序结束,因为递归在释放之前已经占满了栈空间,造成了StackOverFlow……
  3. 谈谈你对AbstractQueuedSynchronizer的理解?--------常见的AQS术语,juc中locks包下面的一个类。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待唤醒锁机制将暂时获取不到锁的线程加入到队列中。如果共享资源空闲,则将当前请求资源的线程设置为工作线程并且锁定共享资源……其实还有很多,个人也对其用法不太熟悉,只知道个大概……有时间再查资料吧
  4. 谈谈你对Redis的了解?-------------基于内存运行,支持分布式扩展,key-value存储系统,默认支持0-15命名的16个数据库。项目中应用的场景:热点数据的高频读,低频写;发布订阅排行榜,计数器等。五种类型:String Hash  List  Set Zset  并分别对这几种类型提供了相关的命令来操作数据的增删改查……
  5. Redis事务的了解?-------对一组命令集合进行执行,中途不允许打断,否则所有的命令都不执行。从客户端发送一个MULTI发送给Redis来标明线面发送的命令属于事务,每发送一条命令Redis响应一个QUEUED表示命令进入等待执行的事务队列中了。直到用户输入EXEC结束事务的输入并请求Redis执行输入的所有命令。
  6. Redis的持久化?------RDB方式:用户自定义一定的条件,然后Redis将自动将缓存进行快照并存储到硬盘上,条件就是在指定时间改动了指定数量的键数,默认会将快照文件存到dump.rdb文件中。AOF方式:记录服务器执行的所有写操作,需要手动开启参数设置……
  7. 关于Redis的主从复制?-------避免单点宕机造成服务数据丢失,所以需要主(写)从(读)复制的措施,一个主数据库可以拥有多个从数据库……
  8. 关于哨兵机制?-------哨兵模式监控主从架构的工作是否正常进行,通过通知转移故障主节点而重新配置一个新的主节点的特点……
  9. 用过springboot吗?-------------spring系列的一个整合框架(tomcat和配置文件),简述下helloworld原理即可,依赖maven的配置+注解以及启动类的web应用。
  10. Springboot的自动配置?----------主要是代替以前SpringMVC繁琐的XML配置(视频解析器,组件扫描器,调度器),spring-boot-autoconfigure依赖通过@EnableAutoConfiguration 核心注解初始化并扫描Classpath目录中自动配置类对应的依赖……
  11. 你了解那些数据库引擎,说说它们的异同优劣?--------常见的InnoDB采用的是B+树底层数据结构,适用于经常更新的表,支持事务,可以通过bin-log日志进行恢复丢失的数据……;MylASM没有提供对数据库事务的支持,也不支持行级锁和外键,所以执行写操作的时候需要锁定整个表导致效率低下,适合读取操作的速度快……
  12. 数据库的范式?-------一,确保每个字段值的原子性;二,确保每张表只描述一件事;三,表中列不存在对非主键的传递依赖……
  13. 数据库的事务属性?------ACID,原子性一致性隔离行永久性……可以具体说明下意思……。
  14. 聊项目---------------------略。


总结:数据存储方面(包括NoSQL和关系型数据库相关),微服务相关……项目中开发经验和填坑的案例。

#面经##社招##Java工程师#
全部评论
感谢分享面经!欢迎参加过社招的牛友发社招面经拿京东卡!~ -------------------- 活动:社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡
点赞 回复
分享
发布于 2019-11-29 11:23

相关推荐

4 17 评论
分享
牛客网
牛客企业服务