工作五年的焦虑以及面试遇到的坑

34 阅读4分钟

       工作差一个月就要满五年了,还只是公司的一颗螺丝钉,虽然领导嘴巴里面说我是小组的负责人,但是随着更换团队等一系列操作之后,我还是一个大头兵,棱角已经逐渐被磨平,开始想着以后的去向。但是回首整理这几年工作的积淀,发现业务上也只是熟悉自己经常改动的那一亩三分地,对整体业务体系也只知皮毛,在公司唯一的竞争力就是对工作用到的开发框架略知一二。公司的做为一个软件公司,一般都会有一个完整的研发链。业务开发框架就是研发链上的一个产品,而做为业务开发人员一般很难接触到框架的实现细节,这也导致业务侧遇到问题,都会无从下手。而我唯一的优势就是曾经通过日志和debug的形式对框架的一些实现细节做了个大概的了解。这也为我后续的解决业务问题做了很大的帮助,同时也让团队同事们认为我对框架有了深刻的认识,一般遇到框架相关的问题都是直接找我看。然而这些看起来了不起的竞争力其实一文不值,试想一下,随便一个人只要静下心来多debug几次也都能掌握,公司的待遇逐年变差,各种将本增效政策层出不穷,节假日的福利全部被砍,公司的财报也只是表面好看,其实都是靠缩减开支来维持财报上的增长,以上的种种都让我感到焦虑和恐慌。最近也偷偷的写了简历挂在网上,记忆中BOSS上更新了简历之后基本上短短几天消息就变成了99+,然而今年主动投出去的简历也基本都是石沉大海,大环境再变差,招聘要求也在提高,之前曾请假溜出去面试,原本想着工作日面试的应该不多,结果到了地方发现面试都要排队,面试的会议室基本上坐满了人,可见大环境是多么的不好。

_可能是工作性质的原因,开发这几年一直是以敏捷模式对一个老项目做迭代,日常的开发模式也是按工单改老代码,说实话就是五年工作,二年工作经验,对一些技术底层原理认识不到位。去面试被问到jre里面的_java.security文件作用。对于这个文件我只能根据文件名大概猜测下,但是具体的作用我一概不知,我甚至都不知道有这样一个文件存在。于是下来复盘学习了一下.

java.security文件作用

该文件的核心作用就是为了配置java的安全机制,可以通过指定该文件的配置来设置部分功能的底层实现。比如:

securerandom.source=file:/dev/random,该配置的作用就是指定系统随机数的生成策略,如果配置为file:/dev/random则表示利用硬件的物理噪音来获取随机数,随机数安全性较高。而配置为file:/dev/urandom则表示通过软件算法来获取随机数,很高效,但是安全性较低,这里的安全性我理解为是随机数的规律性,这个一般做为SecureRandom函数的随机数生成种子源。

针对这个配置具体的使用场景我工作中并没有遇到。查询资料了解到其实这个配置就是决定了SecureRandom类的底层实现。一般我们在遇到生成随机数的场景大多都是使用Math.random()函数,该函数的实现也是依赖于算法实现。我的理解是基于算法实时的东西都是有规律的,比如这种随机数的生成,如果通过大数据的分析可能会有一定的可预测性,因此是不安全的实现。而SecureRandom相对安全,所以一般在加密算法实现中会用到,一般程序不会使用到。

话说回来,这些细致的点工作过程中用的少也很少会去主动关注,既然被问到,说明这个行业已经卷的不成样子了。