牛客

阿里面经汇总

天涯浪子 提交于 2019-12-10 15:29:32
网友 1 1.自我介绍 2.项目中的问题 3.Java类加载器有哪些 4.Java反射机制及应用 5.Synchronized底层实现,4种锁 6.Full GC,Minor GC 7.redis主从复制 8.thrift RPC原理 9.cookie session区别 10.如果登陆了如何其他服务器知道 11.SSO原理,应用场景 12.有什么问题问我吗? 网友 2 阿里一面(新零售)一小时左右 1.自我介绍 2.学到数据结构,常用的有哪些, 3.数组和链表的差别,进行频繁插入和删除用哪个 4.如何进行查找,二分查找,还有其他的吗(hash,b树,当时没想起来,之后又补充的) 5.树有哪些树,说下B树的实现原理(如何分裂节点 7.栈和堆的区别 8.给了千万级数据,怎么进行查找(答:hash,多级hash,类似java的HashMap 9.说到HashMap,说下在java中的实现原理,线程安全吗,线程安全的有什么(hashtable,concurrenthashmap) 10.list都有哪些,ArrayList和LinkedList的区别 11.java的这些内存都是怎么分配的,jvm模型 12.类加载,双亲委托加载 13.java的 == 和equals方法的区别。 14.用的java版本1.8,和1.7有什么区别(不知道。。说了concurrenthashmap的区别

华为云服务器使用评测

隐身守侯 提交于 2019-12-06 09:10:23
前言 个人简介:某双非学校软件工程大二学生 服务器对于每一个开发者都具有非常重要的作用, MBA智库百科 上面这么是这么介绍的: 服务器是指能向网络用户提供特定服务的软件和硬件。这个服务器的定义包含了以下两个方面的内容:一方面,服务器的作用是为网络提供特定的服务,而人们通常会以服务器所能提供的服务来命名服务器,如提供文件共享服务的服务器称为文件服务器,提供打印队列共享服务的服务器称为打印服务器等;另一方面,服务器是软件和硬件的统一体,特定的服务程序需要运行在特定的硬件或一般通用的微机上才能完成服务功能,由服务程序完成服务策略,并通过硬件实现所需的服务,如文件服务依靠大容量硬盘,打印服务需要高速打印机。 由于整个网络的用户均依靠不同的服务器提供不同的网络服务,因此,网络服务器是网络资源管理和共享的核心。网络服务器的性能对整个网络的共享性能有着决定性的影响。 作为一个准程序员来说的话,至少要了解一下基本Linux语法和服务器的基本使用,搭建一下属于自己的技术博客分享心得等等,所以当然也是需要使用服务器的啦!! 在此之前博主经常使用国外的服务器进行博客建设和网站搭建,包括 我的博客(https://windcry1.com) 也是搭建在国外的服务器上面的,一个月的价格的话大约在5美元(相当于35人民币)左右,相当于人民币一元多一天。对比国内主流服务器的标准价格来说价格并不算太高。

牛客网&华为云活动

て烟熏妆下的殇ゞ 提交于 2019-12-05 09:57:00
昨天晚上又看到牛客网买华为云的优惠了,第一次看见的时候没放在心上,再次看见进去了解了一下发现最终算下来1C2G一年只要9元!就果断入手了。 很早以前就听说了华为云,第一次买云服务器的时候就去了解过,但是当时价格比较贵而且也没有学生优惠就没有考虑。现在看来该有的慢慢都有了。 用途有很多,可以在搭建个人网站,可以搭建自己域名的邮件服务器,搭个云盘,挂点爬虫…… 之前在ghpage上搭的静态博客,今天在服务器上配置了一下hexo环境,通过公网IP能访问到hexo再连接到github,以后就能在服务器上维护博客,再也不用担心频繁在不同电脑上写博客啦。 所以大家赶紧通过牛客网的链接注册华为云,这个是牛客网活动页面地址https://www.nowcoder.com/discuss/344341?type=0&order=0&pos=3&page=1,这个是详细注册流程的链接https://www.nowcoder.com/discuss/330402 最后祝牛客网和华为云越办越好~ 来源: https://www.cnblogs.com/shh00/p/11920566.html

牛客练习赛42 C 出题的诀窍 (贡献,卡常)

房东的猫 提交于 2019-12-05 07:54:13
牛客练习赛42 C 出题的诀窍 链接: https://ac.nowcoder.com/acm/contest/393/C来源:牛客网 题目描述 给定m个长为n的序列a1,a2,…,ama_1 , a_2 , \dots , a_ma1,a2,…,am。 小Z想问你: 其中SUM(一个序列)\texttt{SUM}(\text{一个序列})SUM(一个序列)表示这个序列中所有不同的数的和,相当于先sort,unique\tt sort,uniquesort,unique再求和。 输入描述: 第一行两个整数n,m。接下来m行,每行n个整数,第i行第j个表示ai,ja_{i,j}ai,j 输出描述: 一行一个整数,表示答案。 示例1 输入 复制 2 3 1 2 2 3 1 3 输出 复制 36 题意 就是求题面中给定的公式。 思路: 计算贡献的题目。 把所有的数放入一个集合S(去重) 那么集合S中的每一个元素x,对答案的贡献就是x*num,num为含有x的一组数的个数 那么如何求num呢? \(num=n^m-cnt\) cnt为不含有x的一组数的个数 那么只需要m行,每一行中(n-x的个数)乘起来即可。 对于那些不含有x的行。我们用预处理n的幂次来解决。 并且这题比较卡常, 需要用快速读入+pbds的hash来离散化。 能用int的地方不要用longlong 代码: #include

【排序优化】牛客练习赛54D

天涯浪子 提交于 2019-12-04 15:34:38
牛客练习赛54D 题目暴力做法是: 在m(m<=100)次循环内 分别对当前长度为n(n<=5e5)的数组sort一遍,大致取前k小(k<=100)。 我能想到的觉得比较优的做法是:在m次循环内,遍历数据并把符合大小的数据放进单调队列,保证单调队列的数据个数<=k,然后,不断判断新元素与队头元素的大小,更新答案。然而还是超时。 比赛题解是这么说的:   作者:Sovietqwq✨   链接: https://ac.nowcoder.com/discuss/342616?type=101&order=0&pos=1&page=1    来源:牛客网    对于当前区间l,rl,rl,r,随机选取一个元素costi​, i∈[l,r]作为基准数base。然后维护两个指针,将区间中所有小于base的元素放到base的左边,大于base的元素放到base右边 。这一步可以O(区间长度)完成。 设结束时两个指针(即base)在p位置。p左边元素都小于base,p右边的元素都大于base(可能等于,不影响答案)。那么我们统计p左边的元素个数t,如果t≥k就递归到区间[l,p];否则答案加上p左边的所有花费,k-=t,递归到区间[p+1,r]。 复杂度为T(n)=T(2n​)+O(n)=O(n)。总复杂度O(nm)。 然后,这么做就不超时了!.... 然后,还学习了一个东西: 可以很大随机数。

应届生如何获取招聘信息

橙三吉。 提交于 2019-12-03 21:01:24
本文出自我的公众号:程序员江湖。满满干货,关注就送。 招聘网站: 这年头互联网公司盛行,很多岗位都是技术岗位,这种岗位对学生的要求和其他岗位不太一样。所以我们先来说说一般情况下,有哪些渠道获取招聘信息,主要是指那种面向所有公司的招聘网站。 1 应届生求职网 评分:2.5星 这个网站可以说是无所不包,不管什么样的岗位都有,什么样的公司也都有,当然全部都是针对校园招聘的。所以可想而知,要找到符合你目标公司和目标岗位的难度也会比较大。虽然大而全,但是筛选率差,缺少专业性。 2 智联招聘,前程无忧 评分:2.5星 这两个网站是老牌招聘网站了,但是随着互联网时代发展,这些网站早已掉队,网站排版混乱不堪尚且不说,还有很多虚假信息,培训广告。当然对于校园招聘可能还好一点,因为和一些公司有合作,开辟校招通道,但是如果要自己去检索的话,抢龙不推荐。 3 58同城,赶集网 评分:2.5星 这两个网站的定位和其他几家不同,不适用于咱们大学生的校园招聘,也是专门给普通无业人员提供找工作服务的,基本上可以涵盖所有品类。所以这两个网站咱们也可以直接忽略了。 4 猎聘网,中华英才网,大街网 评分:3.5星 这几个网站成立的时间比较晚,所以整体的网站风格比较符合互联网风格,除此之外也不会像前几个网站那样到处打小广告,整体的招聘公司质量比较高,同时,这几个网站也尝试着做职场社交,只不过都做的不咋地。 5 拉勾网

牛客CSP-S提高模拟4 赛后总结

梦想的初衷 提交于 2019-12-03 16:44:15
前言 其实前面已经打了 3 场牛客 3 场计蒜客的比赛,都没有写总结,今天先提一下以前的情况 计蒜客 1 :0+0+0 = 0 (心态崩了,写挂了) 牛客 1: 0+0+0 = 0 (T1博弈论,T2换根dp) 计蒜客 2: 10+40+0 = 50 (T1背包的套路没想出来) 计蒜客 3:80+100(口胡)+0=180 (T1树的直径我竟然不会?) 牛客 2 :100+100+0 = 200 牛客 3 :100+0+0 = 100 (T2dp,不会) 牛客 4 :30+0+10 = 40 (暴力打得最认真的一场,因为题目压根不会) 接下来让我这个期望小白根据之前模拟赛的成绩算一下我提高组的期望得分(因为提高组有两天,所以算出一天的期望乘个2): \[(0*\frac{1}{6}+0*\frac{1}{6}+50*\frac{1}{6}+180*\frac{1}{6}+200*\frac{1}{6}+100*\frac{1}{6}+40*\frac{1}{6})*2=190\] T1 考场上手推出 k=1 的做法 神仙题解 和 巨佬们的代码 怎么看也看不透 T2 挖坑 T3 弃疗 来源: https://www.cnblogs.com/BaseAI/p/11803108.html

对你有所帮助的网站???

给你一囗甜甜゛ 提交于 2019-12-03 10:23:43
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员来说,电子书的需求量还是很大的,介绍几个不错的免费搜电子书的网站吧。 1、鸠摩搜书 这个网址可以用来搜索一些pdf版的电子书,有了这个网址,就不用百度全网搜索电子书了。虽然可能没有像百度全网搜索那么全,但大部分电子书也都有了。注意每种搜索结果的来源,有些来源是百度云盘,有些是微盘等,可以根据需要获取。 网址:https://www.jiumodiary.com/ 2、脚本之家 脚本之家资源还是挺多的,电子书其中之一,不过,也是有挺多电子书的,并且提供多种下载方式,如果你鸠摩搜书搜索不到,或许可以考虑在脚本之家搜索,或者脚本之家搜索不到就到鸠摩搜书搜索。 网址:https://www.jb51.net/books/ 3、专属福利 大学四年以来,我也搜集了不少优质的电子书,如图 例如数据结构与算法 这些,就当做福利送给大家了。 可以在我的公众号『苦逼的码农』后台回复『福利』即可获取。 二、实用工具

牛客小白赛4J――强迫症

匿名 (未验证) 提交于 2019-12-03 00:29:01
链接: https://www.nowcoder.com/acm/contest/134/J 来源:牛客网 题目描述 铁子最近犯上了强迫症,他总是想要把一个序列里的元素变得两两不同,而他每次可以执行一个这样的操作,他可以选择序列里的任意两个元素相加,不妨记作ai和aj,然后把ai+aj放进序列里,再删掉ai和aj其中的随便一个,问最少操作多少次可以完成铁子的愿望? 输入描述: 第一行一个整数n表示序列的长度(1≤n≤105) 第二行n个整数ai表示序列的每个整数(1≤ai≤109) 输出描述: 输出一行表示答案 示例1 输入 复制 3 1 2 2 输出 复制 1 说明 将序列的第1个整数和序列的第2个整数相加,再删掉第2个整数。 又是一道不会做的题。。。 题解说的是答案就是数字总个数减去数字的总数(不重复的) 仔细想想好像有点道理,因为每一次操作都等于可以去掉一个相等的数 但是自己想的时候总是觉得情况很复杂 比如去完一个之后加起来的这个怎么考虑 讲道理还是太菜了 (注意要排序!) 代码: #include <cstdio> #include <algorithm> using namespace std ; const int MAXN= 100050 ; int a[MAXN]; int main( void ){ int n; int num= 1 ; scanf ( "%d"

牛客网――数字反转(水题)

匿名 (未验证) 提交于 2019-12-03 00:25:02
点击打开链接 思路:这道题我是用java写的,偷了个懒,利用了java中现成的字符串反转方法和字符串转换成Integer的方法。 import java . util . Scanner ; public class Main { public static void word (){ Scanner scan = new Scanner ( System . in ); while ( scan . hasNext ()){ String a = scan . next (); String b = scan . next (); StringBuffer c = new StringBuffer (). append ( a ); StringBuffer d = new StringBuffer (). append ( b ); c = c . reverse (); d = d . reverse (); a = c . toString (); b = d . toString (); Integer e = ( Integer . valueOf ( a )+ Integer . valueOf ( b )); a = e . toString (); StringBuffer f = new StringBuffer (). append ( a ); f = f