面试

java-内部类访问特点-私有成员内部类-静态成员内部类-局部内部类访问局部变量

此生再无相见时 提交于 2021-02-13 18:34:59
1、内部类访问特点: -  内部类可以直接访问外部类的成员,包括私有。 -  外部类要访问内部类的成员,必须创建对象。 -   外部类名.内部类名 对象名 = 外部类对象.内部类对象; -  例: 1 class Demo { 2 public static void main(String[] args) { 3 // 外部类名.内部类名 = 外部类对象.内部类对象 4 Outer.Inner oi = new Outer(). new Inner(); // 创建内部类对象 5 oi.method(); 6 7 } 8 } 9 10 class Outer { 11 private int num = 10 ; 12 class Inner { 13 public void method() { 14 System.out.println(num); 15 } 16 } 17 } 2、私有成员内部类 -   通过本类中提供一个公共的方法来访问私有成员内部类。 -  例: 1 class Demo { 2 public static void main(String[] args) { 3 // Outer.Inner oi = new Outer().new Inner(); 4 // oi.method(); // 这种方法不可以访问,因为成员内部类已经私有了 5 6

我在华为外包一年的经历分享。

时间秒杀一切 提交于 2021-02-13 16:43:20
最近会更新一系列关于在外包工作的真实经历和感受的文章,挺多小伙伴都比较感兴趣的( 文章内容都来自在外包公司工作的读者的真实经历 )。 另外, 不同的外包公司、不同的外包工作、不同的甲方等等因素都会影响每个人做外包工作的体验,希望大家在发表自己言论的时候切勿绝对。我非常唾弃那些说在外包公司工作就是拿命换钱的人,真的是有点片面之词啊! 我说这些对我没有任何好处,单纯由心而发,国内的外包公司也没有给我打钱,哈哈哈!不要对外包公司带有太大的偏见,但是, 尽量能当甲方还是当甲方吧!( 去外包的很多人谁何尝不是为了生活呢? ) 18 年的时候找工作,那个时候刚毕业一年。当时水平也是不怎么样,连续面了好多家也都没拿到 offer,后面海投了一波,之后就收到了外包 hr 的电话,说是有华为的项目,本着华为技术应该很厉害的想法,于是就约了面试,当时外包还是很容易进去,只是简单电话面试问了 2,3 个问题,华为那边的人觉得 ok 就可以进去了,就这样入了 x 软国际的坑。 01 当时加入的是一个做车联网的项目组,组里有 1/3 的是外包,外包工号以 wx 开头,华为外包的工作主要是和中软和软通合作。 进去后首先会进行安全培训,强调数据安全,然后就会有人领你去项目组,由华为这边的人当你的直接上级进行管理开发,当时进去后就让写 llt 测试用例,其实大部分时候都在搞这种,因为那边要求代码覆盖率达到 70

最新 房多多java校招面经 (含整理过的面试题大全)

时光毁灭记忆、已成空白 提交于 2021-02-13 07:43:33
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火、京东、去哪儿、房多多等10家互联网公司的校招Offer,因为某些自身原因最终选择了房多多。6、7月主要是做系统复习、项目复盘、LeetCode与牛客刷题等准备工作,并且投了字节跳动、拼多多、猿辅导在内的几家公司的提前批,当然还是挂在了简历,因为毕竟自己的学校、学历、项目经验肯定比不过牛客网上那些大厂实习的大佬了,有时间也给自己做个总结,也希望能帮助到大家 (PS:再次编辑,感谢大家的支持,受宠若惊。私信问我要这些面试答案的,希望交流的朋友很多,但是很多不能及时看到,没办法一个个发给大家,大家注意下中间的百度网盘链接,整理成了pdf分享下给大家,也包括我之前面试准备的题跟视频,也可以进群交流,这样沟通成本少点) 校招心得 注重实力,保持良好心态 :面试过程中,继续巩固好自己的技术栈,然后保持一个良好的心态,尤其是还没有Offer的时候,心态别崩,其实到最后大家都会找到工作的,唯一的区别就是公司的方向、规模、待遇方面,也别太在意别人拿到了牛X的Offer,尤其是牛客网,天天神仙打架,刚开始自己也是很纳闷,怎么就能这么牛,最后也都见怪不怪了~。好多之前一直没Offer的人,可能突然某一天就收获到了几份Offer,所以不断提升自己的综合能力才是关键,与其在这羡慕别人,不如让自己心态沉静下来,认真复习、厚积薄发。 多交流,多思考

四年经验程序员求职要价四万并定下“六勿扰”

≡放荡痞女 提交于 2021-02-13 07:31:44
在职场上公司招贤纳士,求职者寻求伯乐,两者关系是平等的。公司在招聘员工时会通过要求工作年限、学历、专业等条条款款来筛选候选人,而对于公司急需人才公司也会不拘一格去主动邀请。 就有一公司因为业务发展需要急需招一名程序员,于是派HR在求职网站上邀请有经验的人过来公司面试,该HR在浏览求职者简历时,看到了一份“高傲”的简历,看过之后该HR表示:写的句句到位,大兄弟也是实在人,只是不知道能不能找到这样的公司。 从该HR晒出的这份简历来看,这名求职者本科学历,是一名Java工程师,拥有四年大厂背景工作经验,对于新工作的期望薪资为34K至42K左右。 这名程序员还对邀请面试的公司规定了“六勿扰”:加班多的勿扰,我还想多活两年;技术渣、领导渣的勿扰,不解释;需要笔试的勿扰,我当面试官这么多年,笔试是怎么回事大家都有数; 小公司小平台勿扰,没时间陪你创业;钱不到位的勿扰,没时间谈情怀,付出就要有回报。 网友看到这名程序员对于新公司的要求,表示:是不是太过于自信了,现在本科工作四年都这么敢要价了吗?才27岁正处于事业发展阶段就这样有点过于自傲了,四五年的工作经验敢要求这么多,看来是受挫还不够。 他面试要是把这段话重复给技术面试官和HR,能拿到offer,我直播吃翔。作为打工者,没有该有的谦虚,这种人自以为天下无敌,进公司估计会鄙视整个部门的人,缺乏合作能力,至于他的代码能力

文末送书 | WAF 那些事

雨燕双飞 提交于 2021-02-13 02:25:23
Hi!,我是小小,这是小小本周的最后一篇,本篇将会介绍WAF的事情,本篇将会文末送书。在此小小举出小手,相当欢迎各位快点快点快点参加。 什么是WAF WAF是一种产品,一种web应用防火墙,通过执行一定的策如,实现保护Web应用程序。 WAF分类 软件型WAF 软件型WAF是以软件的形式保护服务器上的文件内容,由于安装在服务器上,所以可以随时解除到服务器上的文件,直接检测到服务器上是否由webshell的创建,是否由木马,等。 硬件型WAF 以硬件的形式部署在链路中,支持多种部署方式,可以拦截恶意流量,可以监听拦截的记录, 云WAF 一般以反向代理的形式工作,通过配置NS记录或CNAME记录,使对网站的请求报文优先经过WAF主机,经过WAF主机过滤后,将认为无害的请求报文再发送给实际网站服务器进行请求,可以说是带防护功能的CDN。 网站系统内置的WAF 此时分为以下的几种 输入参数的强置类型转换 输入参数合法性校验。 关键函数执行的检测。 对输入流程的数据进行相关的过滤,再执行。 识别网站WAF的类型 SQLMap python sqlmap.py -u "http://xxx.com/se/" --identify-waf --batch 使用SQLMap自带的WAF模块可以识别出WAF种类,输入SQL命令可以看到相应的识别的结果 可以看到识别出WAF的类型为XXX Web

前端个人面试真题碾压互联网一线大厂

巧了我就是萌 提交于 2021-02-13 02:20:17
1.document.parentNode和document.parentnode document.parentNode -> null (有属性但没有值) document.parentnode -> undefined (没有属性) 如果说当前对象有这个属性,这个属性没有值是null;如果没有这个属性为undefined 2.let vs var区别 1.let没有变量提升(但在词法解析阶段也得知某一个变量是否是私有变量) 2.let不允许在相同的作用域下重复声明 3.let解决了JS中的暂时性死区问题 4.let创建的全局变量没有给window设置对应的属性 5.let会产生块级作用域 … 你理解的闭包是什么,优缺点? 解释:函数执行会形成一个全新私有作用域,保护里面的变量不收外界的干扰,这种保护机制就是闭包 官方解释: 函数执行会形成一个私有栈内存作用域,函数不销毁,与里面的私有变量不冲突,并且也可以保存下来。 闭包就是保存和保护。保护私有变量与外界没有联系,不收干扰。保存就是保存私有变量不销毁。 标准回答技巧: 1.我封装了一个组件,大量运用了闭包。。。 2.我研究Jquery源码,发现就是闭包保护起来的 3.我在研究react源码,发现rudex就是利用了闭包 优缺点:过多的运用闭包会形成性能上的消耗,所以尽量减少闭包的使用。 3.实现弹出5个索引,说明原理

leetcode第72题:编辑距离

£可爱£侵袭症+ 提交于 2021-02-13 01:47:35
给定两个单词 word1 和 word2 ,计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入: word1 = "horse", word2 = "ros" 输出: 3 解释: horse -> rorse (将 'h' 替换为 'r') rorse -> rose (删除 'r') rose -> ros (删除 'e') 示例 2: 输入: word1 = "intention", word2 = "execution" 输出: 5 解释: intention -> inention (删除 't') inention -> enention (将 'i' 替换为 'e') enention -> exention (将 'n' 替换为 'x') exention -> exection (将 'n' 替换为 'c') exection -> execution (插入 'u' 网易面试时遇到了这题,当时没做出来,想不出来状态转移方程。 解题思路如下: 首先定义状态矩阵,dp[m][n],其中m为word1的长度+1,n为word2的长度+1,为什么+1?因为要考虑如果word1或word2为空的情况,后面可以看到。 定义dp[i][j

读写分离很难吗?SpringBoot结合aop简单就实现了!

纵饮孤独 提交于 2021-02-12 18:50:44
点击上方 " 程序员小乐 "关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Take chances, give everything, and leave with no regrets. 抓住机会,全心付出,不留遗憾的离开。 每日掏心 话 生命中遇到的每一个人都是有理由的,之前所有的错失与遗憾,都只是为了遇到最终那个对的人。 来自 : 鄙人薛某 | 责编:乐乐 链接:juejin.im/post/5ddcd93af265da7dce3271de 程序员小乐(ID:study_tech) 第 864 次推文 图源:百度 往日回顾: 如何使用 Nginx 优雅的限流 正文 前言 入职新公司到现在也有一个月了,完成了手头的工作,前几天终于有时间研究下公司旧项目的代码。在研究代码的过程中,发现项目里用到了Spring Aop来实现数据库的读写分离,本着自己爱学习(我自己都不信…)的性格,决定写个实例工程来实现spring aop读写分离的效果。 环境部署 数据库:MySql 库数量:2个,一主一从 关于mysql的主从环境部署,可以参考: https://juejin.im/post/5dd13778e51d453da86c0e6f 开始项目 首先,毫无疑问,先开始搭建一个SpringBoot工程,然后在pom文件中引入如下依赖: <

读写分离很难吗?SpringBoot结合aop简单就实现了

独自空忆成欢 提交于 2021-02-12 18:50:22
点击上方“ 方志朋 ”,选择“ 设为星标 ” 回复” 666 “获取新整理的面试文章 作者:鄙人薛某 juejin.im/post/5ddcd93af265da7dce3271de 前言 入职新公司到现在也有一个月了,完成了手头的工作,前几天终于有时间研究下公司旧项目的代码。在研究代码的过程中,发现项目里用到了Spring Aop来实现数据库的读写分离,本着自己爱学习(我自己都不信…)的性格,决定写个实例工程来实现spring aop读写分离的效果。 环境部署 数据库:MySql 库数量:2个,一主一从 关于mysql的主从环境部署,可以参考: https://juejin.im/post/5dd13778e51d453da86c0e6f 开始项目 首先,毫无疑问,先开始搭建一个SpringBoot工程,然后在pom文件中引入如下依赖: < dependencies > < dependency > < groupId > com.alibaba </ groupId > < artifactId > druid-spring-boot-starter </ artifactId > < version > 1.1.10 </ version > </ dependency > < dependency > < groupId > org.mybatis.spring.boot <

常用缓存淘汰算法(LFU、LRU、ARC、FIFO、MRU)

亡梦爱人 提交于 2021-02-12 17:47:53
缓存算法是指令的一个明细表,用于决定缓存系统中哪些数据应该被删去。 常见类型包括LFU、LRU、ARC、FIFO、MRU。 最不经常使用算法(LFU): 这个缓存算法使用一个计数器来记录条目被访问的频率。通过使用LFU缓存算法,最低访问数的条目首先被移除。这个方法并不经常使用,因为它无法对一个拥有最初高访问率之后长时间没有被访问的条目缓存负责。 最近最少使用算法(LRU): 这个缓存算法将最近使用的条目存放到靠近缓存顶部的位置。当一个新条目被访问时,LRU将它放置到缓存的顶部。当缓存达到极限时,较早之前访问的条目将从缓存底部开始被移除。这里会使用到昂贵的算法,而且它需要记录“年龄位”来精确显示条目是何时被访问的。此外,当一个LRU缓存算法删除某个条目后,“年龄位”将随其他条目发生改变。 自适应缓存替换算法(ARC): 在IBM Almaden研究中心开发,这个缓存算法同时跟踪记录LFU和LRU,以及驱逐缓存条目,来获得可用缓存的最佳使用。 先进先出算法(FIFO): FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。 最近最常使用算法