面试
lililydia
以后再填吧
展开
-
菜鸟网络java研发电话一面整理
1.自己java项目相关的东西1.1 MVC模式理解https://www.cnblogs.com/xhj123/p/6170975.htmlhttps://www.cnblogs.com/qiong2017/p/7675224.html1.2 SSMhttps://www.cnblogs.com/zyw-205520/p/4771253.htmlhttps://ww...原创 2020-08-05 19:55:22 · 245 阅读 · 0 评论 -
【转载】awk学习
原文:http://blog.chinaunix.net/uid-23302288-id-3785105.htmlawk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息awk处理过程:依次对每一行进行处理,然后输出awk命令形式:awk [-F|-f|-v] ‘BEGIN{} //{command1; command2...转载 2019-04-15 10:26:51 · 112 阅读 · 0 评论 -
常见用例设计题总结
如果问的是测试的整个流程,而不单单是用例设计,应该包含制定测试计划、阅读需求文档、写用例、执行、回归。 在设计测试用例时一般从以下几个方面进行分析:功能测试,性能测试,界面测试,安全性测试,兼容性测试,可用性测试,可靠性测试,本地化/国际化测试。一、常见实物测试题1、测试项目——电梯 需求测试:查看电梯使用说明书,安全说明书等。 功能...原创 2019-09-04 10:25:18 · 1260 阅读 · 0 评论 -
部分常见面试题梳理
二分查找的复杂度为什么是O(logn)?最好时间复杂度:O(1)直接找到的那种最坏复杂度计算:对于有n个结点的平衡二叉树而言,比如高度为3的二叉树,共1+2+4=2^3-1=7个结点,所以高度与结点数的关系是:(2^h)-1=n,也就可以得到h=log2(n+1)。对于二分查找而言,最坏的时间复杂度就是查到二叉树的叶子节点才查到key,所以最坏是O(h)=O(log(n+1))=O...原创 2019-09-07 15:44:50 · 1647 阅读 · 0 评论 -
输入法相关的测试用例整理
输入法的相关功能(以搜狗输入法为例)1. 设置:输入习惯、键盘布局、手写设置、语音设置、词库设置、快捷短语、消息通知、帮助与反馈等其中输入习惯包括:中文(联想词、繁体、拼音纠错、智能调频、五笔输入、生僻字显示等)、英文(英文预测、英文联想、首字母大写、词末自动空格、自动锁定大写等)、符号输入(成对匹配、符号调频、自定义符号)、表情输入(显示emoji表情、图片表情)、手势输入(上滑输入...原创 2019-09-17 22:27:08 · 4833 阅读 · 1 评论 -
网站加载速度慢的原因
想借这篇博客总结一下~1.本机问题①网速问题加载慢②本机的硬件配置低(CPU或者是内存被占满的时候,打开网页很是会很慢的)2.连接过程①DNS解析慢(在http请求的过程中,域名解析和建立连接占的时间很多)②接受数据时间过长。(因为下载的内容太重,例如大图片、大脚本等。这类问题可以使用GZIP压缩、图片压缩或者JS/CSS的minify等手段来解决)③服务端收到的请求过...原创 2019-09-24 14:51:53 · 4117 阅读 · 0 评论 -
CDN简介
什么是CDN?CDN(Content Delivery Network),内容分发网络,体现了以空间换时间的策略。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,CDN的关键技术是内容存储和分发技术。基本思路?尽可能的避开互联网上可能影响数据...转载 2019-09-26 10:55:06 · 284 阅读 · 0 评论 -
Java中的static关键字
在Java语言中,static表示“静态”的意思,使用场景可以用来修饰成员变量和成员方法,当然也可以是静态代码块。static的主要作用在于创建独立于具体对象的域变量或者方法。本文主要来去讲解一下static的来龙去脉。static要解决什么问题?我们知道,当我们通过new关键字去创建对象的时候,那么数据的存储空间才会被分配,类中的成员方法才能被对象所使用。但是呢有两种特殊的情况:1、我们...转载 2019-09-26 10:59:28 · 121 阅读 · 0 评论 -
数据研发岗位常见面试题
Hadoop相关:1.谈谈数据倾斜是如何发生的,并给出优化方案。https://blog.csdn.net/wyz0516071128/article/details/809971581数据倾斜的原因1.1产生的操作: 关键词 情形 后果 Join 其中一个表较小, 但是key集...原创 2019-04-16 16:51:14 · 11537 阅读 · 1 评论 -
Java分布式锁的实现
1.分布式锁概念分布式锁,是指在分布式的部署环境下,通过锁机制来让多客户端互斥的对共享资源进行访问。2.分布式锁要满足哪些要求呢?排他性:在同一时间只会有一个客户端能获取到锁,其它客户端无法同时获取避免死锁:这把锁在一段有限的时间之后,一定会被释放(正常释放或异常释放);可重入锁(避免死锁)高可用:获取或释放锁的机制必须高可用且性能佳3.分布式锁的三种实现方式针对分布式...原创 2019-04-14 17:40:15 · 146 阅读 · 0 评论 -
2019年3月菜鸟实习生电话面试题
1.排序算法,有哪些,复杂度怎样,快排怎么排,什么思想https://www.cnblogs.com/IUbanana/p/7056734.html快速排序代码及注释:package test;public class quicksort { public static void quickSort(int[] arr,int low,int high){ i...原创 2020-08-05 19:54:59 · 289 阅读 · 0 评论 -
360搜索数据挖掘面试题整理
1.自己的项目,负责哪个部分,遇到什么问题,怎么处理的(有多少个特征值,怎么处理的)2.LSTM介绍https://blog.csdn.net/gzj_1101/article/details/79376798https://www.cnblogs.com/wangduo/p/6773601.html?utm_source=itdadao&utm_medium=referral...原创 2020-08-05 19:55:58 · 236 阅读 · 0 评论 -
Java集合:HashMap底层实现和原理(源码解析)【转载】
原文:https://www.cnblogs.com/java-jun-world2099/p/9258605.htmlNote:文章的内容基于JDK1.7进行分析。1.8做的改动文章末尾进行讲解。一、先来熟悉一下我们常用的HashMap:1、概述HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null 建和null值, 因为key不允许重复,因此只能有一个键...转载 2019-04-11 15:48:51 · 271 阅读 · 0 评论 -
JVM的本地方法栈【转载】
原文:http://www.cnblogs.com/wade-luffy/p/5813747.html 对于一个运行中的Java程序而言,它还可能会用到一些跟本地方法相关的数据区。当某个线程调用一个本地方法时,它就进入了一个全新的并且不再受虚拟机限制的世界。本地方法可以通过本地方法接口来访问虚拟机的运行时数据区,但不止如此,它还可以做任何它想做的事情。 本...转载 2019-04-11 20:47:39 · 105 阅读 · 0 评论 -
Java中ClassLoader相关介绍汇总
1、ClassNotFoundExcetpion 我们在开发中,经常可以遇见java.lang.ClassNotFoundExcetpion这个异常,今天我就来总结一下这个问题。对于这个异常,它实质涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然它和我们直接打交道不多,但是对其背后的机理有一定理解有助于我们排查程序中出现的类加载失败等技术问题。2、类...转载 2019-04-09 15:58:54 · 156 阅读 · 0 评论 -
JVM虚拟机笔记之对象存活判定算法和垃圾收集算法【转载】
原文:https://segmentfault.com/a/1190000018737387程序计数器.虚拟机栈.本地方法栈随线程而生随线程而灭,栈帧分配多少内存在类结构确定后就确定了。垃圾回收针对的是Java堆和方法区。一:对象已死吗在垃圾收集器进行回收前,第一件事就是确定这些对象哪些还存活,哪些已经死去。1.引用计数算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数...转载 2019-04-09 16:07:53 · 115 阅读 · 0 评论 -
多线程
1 并发与并行并发:指两个或多个事件在同一个时间段内发生。并行:指两个或多个事件在同一时刻发生(同时发生)。在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。而在多个 CPU 系统中,则这些可以并发执行的...原创 2019-04-09 22:35:37 · 113 阅读 · 0 评论 -
Java 线程池详解
原文:http://www.importnew.com/29813.html基础知识Executors创建线程池Java中创建线程池很简单,只需要调用Executors中相应的便捷方法即可,比如Executors.newFixedThreadPool(int nThreads),但是便捷不仅隐藏了复杂性,也为我们埋下了潜在的隐患(OOM,线程耗尽)。Executors创建线程池...转载 2019-04-14 11:14:24 · 92 阅读 · 0 评论 -
关于java常见设计模式的个人总结
java七大设计原则:一.开闭原则(Open Close Principle)OCP原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。作用:保证以前代码的准确性,使开发者更专注于新扩展的代码上二.单一职责(Single Responsibility Principle)SRP原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责,应该仅有...转载 2019-04-14 16:05:03 · 288 阅读 · 0 评论 -
Java中的数据结构及其关系
一、Collection和Collections的区别:1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。声明了适用于JAVA集合(只包括Set和List)的通用方法。Set 、List(Stack、Q...转载 2019-04-14 16:25:10 · 817 阅读 · 0 评论 -
Java中常用的锁机制总结
原文:成猿之路的公众号文章-Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等什么是锁? 在计算机科学中,锁(lock)或互斥(mutex)是一种同步机制,用于在有许多执行线程的环境中强制对资源的访问限制。锁旨在强制实施互斥排他、并发控制策略。在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如...转载 2019-04-14 16:55:53 · 417 阅读 · 0 评论 -
多线程中的run方法和start方法的区别
比如创建一个线程 Thread t1 = new Thread()t1.run(); 只是调用了一个普通方法,并没有启动另一个线程,程序还是会按照顺序执行相应的代码。t1.start(); 则表示,重新开启一个线程,不必等待其他线程运行完,只要得到cup就可以运行该线程。总结:线程的run()方法是由java虚拟机直接调用的,如果我们没有启动线程(没有调用线程的start()...转载 2019-09-26 11:30:30 · 476 阅读 · 1 评论