远光武汉研发中心区块链事业部Java面试总结
面试在约定的时间准时进行,也是采用腾讯会议远程面试的方式。但是这是我第一次遇到面试官未打开摄像头的情况,后面经过沟通,双方都打开摄像头进行交流。
之前了解这个岗位主要是区块链相关的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面试总结的更多相关文章
- 区块链使用Java,以太坊 Ethereum, web3j, Spring Boot
Blockchain is one of the buzzwords in IT world during some last months. This term is related to cryp ...
- 区块链的java实现
原文地址:http://blog.csdn.net/xiangzhihong8/article/details/53931213 本文90%来着于翻译,原文地址:http://java-lang-pr ...
- 创建自己的区块链合约java版web3接口——以太坊代币(四)
texas-web3j-solidity项目是一个java版本的,使用web3j包和eth网络交互的小程序. 主要实现了以下功能: 1.发布合约 2.发起转账 3.查询交易 4.调用智能合约方法 te ...
- 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google
摘要: 作为此次Gartner报告中唯一上榜的中国科技公司,阿里云获得六个评判维度的最高分,排名第二 近日,知名调研机构Gartner发布了全球领先公共云厂商区块链服务能力报告,作为唯一上榜的中国科技 ...
- 阿里云BaaS:降低区块链应用门槛,用技术构建商业互信
5月8日,阿里云召开区块链服务(BaaS)商业化发布会,会上对BaaS产品.业务应用场景及生态策略进行了全面解读. 对于广大IT服务商和开发者而言,构建区块链应用存在三大痛点问题:成本高,研发投入大. ...
- 以太坊区块链Java(EthereumJ)学习笔记:概述
本系列文章介绍以太坊区块链基于Java语言的解决方案.通过介绍EthereumJ定义的主要模块和Class,希望为大家学习和使用EthereumJ提供一些帮助. 整体架构 以太坊的Java解决方案主要 ...
- 边缘计算、区块链、5G,哪个能走的更远
频繁出现的新词汇5G.区块链.边缘计算,这些都代表了什么,又能给我们的生活带来什么巨大的改变么?抉择之时已至,能够走向未来的真的只有一个吗? "没有什么能够阻挡,你对自由的向往....&qu ...
- 微软刚发布的区块链去中心化身份识别系统DID
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653549389&idx=1&sn=158f9feb10d76a ...
- eos中BM与有BM特色的去中心化。区块链世界,白皮书为共识,代码为法律。
比特币挖矿是谁算力高,谁更容易挖到新的比特币,而BM认为这太浪费资源了,于是设计了DPoS:在DPoS系统里,大家不再挖矿.而是指定几个人负责记账,不叫矿工,而叫见证人.比特股里开始是101人,EOS ...
随机推荐
- C# 从1到Core--委托与事件
委托与事件在C#1.0的时候就有了,随着C#版本的不断更新,有些写法和功能也在不断改变.本文温故一下这些改变,以及在NET Core中关于事件的一点改变. 一.C#1.0 从委托开始 1. 基本方式 ...
- Centos7解压Zip文件
一.安装支持ZIP的工具 yum install -y unzip zip 二.解压zip文件 unzip 文件名.zip 三.压缩一个zip文件 zip 文件名.zip 文件夹名称或文件名称
- js统计字符
问题: var str1 = "abcdabcabcaabeeeeeee"; var str2 = "fhjdiovjdasklgudsaklfgdaskl ...
- centos6.4 卸载 vim7.2 安装vim7.4
一.# rpm -qa|grep vim vim-minimal-7.2.-1.8.el6.x86_64 vim-enhanced-7.2.-1.8.el6.x86_64 vim-common-7.2 ...
- python学习_Linux系统的常用命令(二)
linux基本命令: 1.ls 的详细操作: ls - l : 以列表方式显示文件的详细信息 ls -l -h: 以人性化的方式显示文件的大小 ls -l -h -a 显示所有的目录和文件,包括隐藏文 ...
- django模板中变更数据库信息后,如何把变更后的信息同步更新到数据库
我们在基于django开发项目的过程中,经常会遇到数据库表字段增加,删除,或者修改的情况,以及字段属性更改的情况,因为django基于ORM模式来操作数据库的, 传统上如果django项目中的数据库m ...
- 央行数字货币(CBDCs)的互操作性至关重要
CBDCs(央行数字货币)将在我们的有生之年产生重大的金融转变.然而,除非这些工具吸取了法定货币的教训,否则创新将毫无意义.互操作性一直是影响CBDC采用和功能的最重要障碍之一.因此,各国央行在这一理 ...
- Python List comprehension列表推导式
http://blog.chinaunix.net/uid-28631822-id-3488324.html 具体内容需要进一步学习
- 【软件安装】CentOS7_直播服务搭建_nginx_nginx-http-flv-module
1.介绍 nginx-http-flv-module是在nginx-rtmp-module基础上开发的一个直播模块. 感谢Arut创造了nginx-rtmp-module,它是Nginx的一个优秀的第 ...
- 老司机带你玩转面试(5):Redis 集群模式 Redis Cluster
前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿. ...