深圳智慧建设控股有限公司社招Java工程师(面经)

招聘简章技术栈
  • 熟悉maven gitlab jenkins等构建工具
  • 掌握多种Java开发框架,例如:Spring springmvc MyBatis 等
  • 熟练使用Postgre或Mysql数据库,精通数据优化工作
  • 熟悉Linux系统,掌握Linux下脚本编程以及系统优化
  1. 开门见山聊项目,项目中遇到的一些问题,解决方案等--------------项目略,对于开发中遇到的问题,个人把近段时间开发中遇到的插件开发tomcat服务器无法启动,好象是maven构建clean等命令操作出现了问题……暂时还没解决掉。
  2. 你们项目中的架构,做了些什么,一些复杂的业务逻辑……?-------------略
  3. Mybatis的分页方式?--------逻辑分页,使用mybatis的RowBounds进行,其原理就是一次性查询很多数据,然后在数据中进行检索;物理分页,手写SQL分页或使用分页插件pageHelper去数据库查询指定条数的分页数据的形式。
  4. 逻辑分页和物理分页有什么区别?-----------------逻辑分页是一次性查询很多数据,然后在结果中检索分页的数据,其中RowBounds是因为框架对JDBC的封装中有一个Fetch Size的配置,它规定了每次最多从数据库查询数据的数量。其物理分页是从数据库查询指定条数的数据,弊端是数据库频繁被访问,压力大。
  5. 一级缓存/二级缓存的理解?-------------一级缓存:基于PrepetualCache的HashMap本地缓存,其生命周期和sqlsession一致,当session flush或close之后,session中所有的cache就将清空,默认开启。二级缓存:不同在于存储作用域为Mapper级别的,多个sqlsession之间需要共享缓存,默认是不开启二级缓存的,使用二级缓存需要实现Serializable序列化接口。
  6. springmvc运行流程?-------------配合流程图来阐述,浏览器将请求发送给DispatcherServlet,然后DispatcherServlet查询一个或多个HandlerMapping找到处理请求的controller,DispatcherServlet在把请求交给controller,controller进行业务逻辑后,会返回一个ModelAndView,Dispatcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象渲染返回给客户端。
  7. Spring两大核心原理?--------即Spring IOC控制反转,将对象的创建交给spring框架处理,无需手动通过new的方式,具体实现原理是通过配置文件对接口实现类进行配置,底层是工厂模式反射原理。Spring AOP面向切面,面对一些与业务逻辑没有关系,但为业务逻辑调用的一些共同逻辑或责任的封装,避免对系统的重复,比如一些权限认知、事务日志……。
  8. SpringAOP的一些术语关注点?-----------切面:就是所要添加的共用类封装。切入点:业务逻辑所要调用切面共用类的地方。通知:业务逻辑调用切面的位置(前、后、环绕、异常、最终)……至于其他的术语都是些照本宣科翻译过来的……
  9. 谈谈你对SpringBoot的理解?----------简化spring配置的开发,创建独立的spring应用程序,嵌入web容器,简化maven配置……
  10. 数据库的存储引擎了解?---------------常见的MyIsam和InnoDB。InnoDB底层为B+树,每个节点对应一个page,非叶子节点只有键值,叶子节点包含完整的数据,支持事务和容灾恢复。MyIsam属于mysql默认的引擎,没有数据库事务的支持,用于关注性能的业务场景,对安全稍微忽略……
  11. 数据库事务?------------一系列操作的集合,遵循原子性、一致性、隔离性、持久化……
  12. 数据库的并发策略?-------乐观锁……,悲观锁……(大把地资料可以查)。时间戳,数据表中加上时间戳作为字段,当线程读取时把时间戳也读进去,写的时候将该时间戳加1,提交之前和数据库的字段做个对比,如果比数据库的大就保存,否则就写入失败。
  13. Java8的新特性?-----------这个问题对于很多老项目的维护来说,尽管可以使用java8来搭建环境开发,但都是向下兼容以前的项目代码。lambda表达式代替匿名内部类,函数能被当作参数传递给方法。接口内允许通过关键字提供一个默认的实现方法。函数式接口……
  14. 其他非技术栈、非项目的聊天(略)。
总结:SSM的熟悉运营和数据库的理解,以及项目经验中的一些当下技术穿插(这点很重要),毕竟SSM仅仅是基础,项目简历的聊天才是关键。
#面经##社招##Java工程师#
全部评论
多少年?待遇怎么样
点赞 回复 分享
发布于 2019-12-27 12:12

相关推荐

不愿透露姓名的神秘牛友
2025-12-17 16:48
今天九点半到公司,我跟往常一样先扫了眼电脑,屁活儿没有。寻思着没事干,就去蹲了个厕所,回来摸出手机刷了会儿。结果老板刚好路过,拍了我一下说上班别玩手机,我吓得赶紧揣兜里。也就过了四十分钟吧,我的直属领导把我叫到小隔间,上来就给我一句:“你玩手机这事儿把老板惹毛了,说白了,你可以重新找工作了,等下 HR 会来跟你谈。” 我当时脑子直接宕机,一句话都没憋出来。后面 HR 找我谈话,直属领导也在旁边。HR 说我这毛病不是一次两次了,属于屡教不改,不光上班玩手机,还用公司电脑看论文、弄学校的事儿。我当时人都傻了,上班摸鱼是不对,可我都是闲得发慌的时候才摸啊!而且玩手机这事儿,从来没人跟我说过后果这么严重,更没人告诉我在公司学个习也算犯错!连一次口头提醒都没有,哪儿来的屡教不改啊?更让我膈应的是,昨天部门刚开了会,说四个实习生里留一个转正,让大家好好表现。结果今天我就因为玩手机被开了。但搞笑的是,开会前直属领导就把我叫去小会议室,明明白白告诉我:“转正这事儿你就别想了,你的学历达不到我们部门要求,当初招你进来也没打算给你这个机会。”合着我没入贵厂的眼是吧?可我都已经被排除在转正名单外了,摸个鱼至于直接把我开了吗?真的太离谱了!
rush$0522:转正名单没进,大概率本来就没打算留你
摸鱼被leader发现了...
点赞 评论 收藏
分享
评论
点赞
24
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务