面试在约定的时间准时进行,也是采用腾讯会议远程面试的方式。但是这是我第一次遇到面试官未打开摄像头的情况,后面经过沟通,双方都打开摄像头进行交流。

之前了解这个岗位主要是区块链相关的Java开发,所以事先对区块链相关知识做了准备,面试的时候这方面的知识应该是得到了认可。但是在Java方面却表现的不好。

以下对面试题进行一下回忆、整理与总结。

问:在spring boot框架项目启动的过程中,如何去初始化一些变量的值?

答:通过配置文件,做一些配置去读取,或者spring在启动的时候,即bean的生命周期中,即bean初始化的时候可以做一些设置去处理。

具体的又问是哪个类的哪个方法去处理,这里没有回答上来。这个问题没有get到面试官的点,所以回答的不是很好。与市面上的面试题有差异,超过了准备的范围,由此可以看出面试官还是有水平或者是说特意准备了一下。

问:SpringMVC的整个请求流程?

答:这个准备过程中对于这个请求流转的图有一点印象,于是按照印象回答了一下。

问:SpringMVC框架中,后台返回一个字符串,怎么在前台中显示出来? 

答:把这个字符串放到request域中,然后前台从request域中取出来。又具体问怎么操作,用哪个方法?回答使用request.setAttribute方法先设置这个值,然后再用request.getAttribute取出这个值。面试官皱了皱眉头,这个问题我也没get到面试官的点,所以感觉也回答的不好。

问:在SpringMVC框架中,@requestParameter这个注解有什么用?

答:来设置参数的。其实这个是映射请求参数,接受参数。这个问题竟然是面试官从我的博客笔记中找的一个来问的,不过博客时2018年写的,年代久远,加之项目中很少写springMVC的注解,所以这里忘了。不过这个还是第一次遇见面试官会去看我的博客,因为简历中都有写自己的博客地址。

问:对于多线程了不了解?如何保证线程安全? 

答:一些轻量级的处理,例如synchronized关键字,volatile关键字,其他的可以用Lock类来处理,或者线程池来处理。

Lock是一个类吗?它是哪个包里面的?

这里我特别自信回答Lock是一个类,源于之前看的一篇文章里面写它是一个类,用词不严谨害了我啊。Lock其实是一个接口,包名为java.util.concurrent.locks.Lock;

然后说到了volatile,讲到了它可以禁止指令重排序,然后可以在线程间共享。然后就是问是如何实现这两点的。我也具体回答了。但是面试官还是若有所思的样子,不清楚是他不懂还是我回答的他不满意。

问:数据库中的for update是表级锁还是行级锁?

答:行级锁。

问:单例模式有了解吗?

答:回答了单例的双重校验锁的写法,以及为何要双重校验。然后又问这样一定是单例吗,只会创建一个对象吗?回答大多数情况,应该可以了,这种写法。面试官应该是想挖掘更多的点来考察。

之前在公众号上也看过一篇讲单例的文章,讲的非常好,但是现在回过头去找却找不到了。就是这种层层递进式的讲解,单例一定是单例吗?然后不停的优化写法,如何破坏单例。

哦,说到这儿找到这篇文章了:

https://mp.weixin.qq.com/s/DXEtpuJLHcbk6g_GctkGnw

总结:这次面试,感觉面试官对于框架层面的细节问题考察比较深,有时会具体到某个类的某个方法,其他方面也在正常的Java面试题范围内。然后对于项目相关的问的比较少,或者前面回答的不好,后面没给机会。抑或这个岗位只是想招一个纯Java开发的人员,能快速上手写代码的人,没考虑其他方面。自己的优势也没有发挥出来。

远光武汉研发中心区块链事业部Java面试总结的更多相关文章

  1. 区块链使用Java,以太坊 Ethereum, web3j, Spring Boot

    Blockchain is one of the buzzwords in IT world during some last months. This term is related to cryp ...

  2. 区块链的java实现

    原文地址:http://blog.csdn.net/xiangzhihong8/article/details/53931213 本文90%来着于翻译,原文地址:http://java-lang-pr ...

  3. 创建自己的区块链合约java版web3接口——以太坊代币(四)

    texas-web3j-solidity项目是一个java版本的,使用web3j包和eth网络交互的小程序. 主要实现了以下功能: 1.发布合约 2.发起转账 3.查询交易 4.调用智能合约方法 te ...

  4. 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google

    摘要: 作为此次Gartner报告中唯一上榜的中国科技公司,阿里云获得六个评判维度的最高分,排名第二 近日,知名调研机构Gartner发布了全球领先公共云厂商区块链服务能力报告,作为唯一上榜的中国科技 ...

  5. 阿里云BaaS:降低区块链应用门槛,用技术构建商业互信

    5月8日,阿里云召开区块链服务(BaaS)商业化发布会,会上对BaaS产品.业务应用场景及生态策略进行了全面解读. 对于广大IT服务商和开发者而言,构建区块链应用存在三大痛点问题:成本高,研发投入大. ...

  6. 以太坊区块链Java(EthereumJ)学习笔记:概述

    本系列文章介绍以太坊区块链基于Java语言的解决方案.通过介绍EthereumJ定义的主要模块和Class,希望为大家学习和使用EthereumJ提供一些帮助. 整体架构 以太坊的Java解决方案主要 ...

  7. 边缘计算、区块链、5G,哪个能走的更远

    频繁出现的新词汇5G.区块链.边缘计算,这些都代表了什么,又能给我们的生活带来什么巨大的改变么?抉择之时已至,能够走向未来的真的只有一个吗? "没有什么能够阻挡,你对自由的向往....&qu ...

  8. 微软刚发布的区块链去中心化身份识别系统DID

    https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653549389&idx=1&sn=158f9feb10d76a ...

  9. eos中BM与有BM特色的去中心化。区块链世界,白皮书为共识,代码为法律。

    比特币挖矿是谁算力高,谁更容易挖到新的比特币,而BM认为这太浪费资源了,于是设计了DPoS:在DPoS系统里,大家不再挖矿.而是指定几个人负责记账,不叫矿工,而叫见证人.比特股里开始是101人,EOS ...

随机推荐

  1. js写一个简单的九九乘法表

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Python Java 快速配置环境变量(Path)

    Python Java 快速配置环境变量(Path) 最近系统被重置,清空了C盘中的program等文件夹以及初始化了环境变量. 通常环境下,在windows环境中我们都会打开"环境变量&q ...

  3. 火车运输(最大生成树+lca) 洛谷P1967

    货车运输 题目描述 \(A\) 国有 \(n\) 座城市,编号从 \(1\) 到 \(n\) ,城市之间有 \(m\) 条双向道路.每一条道路对车辆都有重量限制,简称限重. 现在有 \(q\) 辆货车 ...

  4. MRCTF 2020-“TiKi小组”

    题目状态: OPEN - 正在试图解这道题CLOSED - 这道题还没有打开SOLVED - 解决了!鼓掌撒花! 赛事信息 Flag格式:MRCTF{}起止时间:2020-03-27 18:00:00 ...

  5. SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后端篇(五): 数据表设计、使用 jwt、redis、sms 工具类完善注册登录逻辑

    (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境:https://www.cnblogs.com/l-y-h/p ...

  6. 数据库周刊31丨openGauss 正式开源;7月数据库排行榜发布;浙江移动国产数据库AntDB迁移;oracle ADG跨版本搭建;PG解决社保问题;mysqlbinlog解析……

    摘要:墨天轮数据库周刊第31期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.openGauss 正式开源,华为公开发布源代码[摘要]6月1日,华为正式宣布开源数据库能 ...

  7. Halcon一维测量1D Measuring解析

    一维测量(也叫一维计量或卡尺)的概念非常直观.沿着一个预定的区域(主要是垂直于RIO感兴趣区域的方向) 边缘的位置.这里的边缘为从暗到亮或从亮到暗的过渡. 基于提取的边缘,可以测量零件的尺寸.例如,可 ...

  8. Django中的request到底有啥属性

    Django中的request到底有啥属性呢 Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将  HttpRequest对象  作为第一个参数传入该函 ...

  9. Python并发编程04 /多线程、生产消费者模型、线程进程对比、线程的方法、线程join、守护线程、线程互斥锁

    Python并发编程04 /多线程.生产消费者模型.线程进程对比.线程的方法.线程join.守护线程.线程互斥锁 目录 Python并发编程04 /多线程.生产消费者模型.线程进程对比.线程的方法.线 ...

  10. Python Ethical Hacking - Malware Packaging(4)

    Converting Python Programs to Linux Executables Note: You can not execute the program on Linux by do ...