第一题:输入N个随机内存数,求其中最大连续的第一位以及最大连续的数量 例如: 输入 4 1 3 2 5 输出 1 3 解答: 第二题:输入N组依赖关系,最多1000个元素,求其中是否存在循环(最多存在一条循环),存在则输出升序排列,反之输出NA; 原题输入的是字符串,我简略成了输入数字 输入 4 1 2 3 4 1 3 4 1 输出 1 3 4 第三题是村庄规划最短路径,我太菜了就没写出来 #华为
二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交集 U 和 V ,使得每一条边都分别连接 U、V 中的顶点。如果存在这样的划分,则此图为一个二分图。二分图的一个等价定义是:不含有「含奇数条边的环」的图。图1 是一个二分图。为了清晰,我们以后都把它画成图2的形式。 匹配:在图论中,一个「匹配」(matching
一、一些面经 自我介绍 你觉得你的性格是什么样的 出来回答产品经理需要主注意的品,强调了开放创新。 如何验证你说的开放创新,举个例子 举了改版学生会公众号的事。 你遇到过最有挑战的事是什么 看到你没有实习经历对吧,如何证明能力? 举了一些产品思维和能力弥补实习的欠缺,以及为产品实习做了哪些工作 你希望在产品实习中从事哪些理想的工作? 因为前面提到了开放创新,委婉表达了不想当螺丝钉的想法,在
Webstorm拥有非常强大的自动提示功能,但 javascript 太灵活了,又是弱类型语言,提示的准确度和详细度依然是个问题(比如,一个带参数的函数,Webstorm无法提示出参数的数据类型)。 Webstorm5.0 引入JSdoc的标签支持,通过开发者自己给代码加上符合jsdoc要求的注释,来达到强化js自动提示的目标。 随便写个类,没加任何jsdoc注释时: function User(
在完成对目标应用程序的信息收集和分析以及任何必须的 Burp 配置之后,您可以开始测试应用程序中常见的漏洞。在这个阶段,通常最有效的方法是同时使用 Burp 的多个组件,在不同组件之间传递个别请求以执行不同的任务,并返回浏览器进行一些测试。 在 Burp 中,您可以使用菜单在组件之间传递项目,并执行其他操作。 在 Burp 的默认配置中,它会自动对通过代理的所有请求和响应执行实时的被动扫描。因此,
译见系列|DaoCloud 现推出「译见」系列,每周为开发者提供国外精品译文,主要关注云计算领域的技术和前沿趋势。本系列由 Fiona 翻译。 译者注 创业不易,缺少利器的创业更不易。所幸 Rob Fitzpatrick 这样的企业家给出了建议。他列出了自己经常使用的工具,有的人尽皆知,有的默默无闻,但是对于创业团队来说,他们都非常有用。 作者简介 Rob Fitzpatrick,连续创业的企业家
sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使
GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。对于一名Linux下工作的c++程序员,gdb是必不可少的工具; 1.1. 启动gdb 对C/C++程序的调试,需要在编译前就加上-g选项: - g++ -g hello.cpp -o hello 调试可执行文件: - gdb <program> program也就是你的执行文件,一般在当前
本文翻译自 developers.google.com 作者:Philip Walton 原文链接:Best Practices for Persisting Application State with IndexedDB 当网站或应用首次被加载时,首先通常需要准备大量工作去构造初始的应用状态信息,然后再使用这些信息去渲染界面。例如,有的应用需要用户进行身份验证,之后才能去发一些 API 请求获
简介 在获得一些便利来发现和利用漏洞之后,我们现在转向可能需要更多努力的其他问题上。 这一章中,我们会搜索利用,编译程序,建立服务器以及破解密码,这可以让我们访问敏感信息,并执行服务器和应用中的特权功能。 7.1 在 Exploit-DB 中搜索 Web 服务器的漏洞 我们偶尔会在操作系统中, Web 应用所使用的库中,以及活动服务中发现服务器漏洞,或者可以在浏览器或 Web 代理中不能利用的安全
简介 这章开始我们会开始涉及渗透测试的的利用层面。和漏洞评估的主要不同是,漏洞评估中测试者识别漏洞(多数时间使用自动化扫描器)和提出如何减轻它们的建议。而渗透测试中测试者作为恶意攻击者并尝试利用检测到的漏洞,并得到最后的结果:整个系统的沦陷,内部网络访问,敏感数据泄露,以及其它。同时,要当心不要影响系统的可用性或者为真正的攻击者留下后门。 之前的章节中,我们已经涉及了如何检测 Web 应用中的一些
利用代码块 一个 GCC 非常模糊的特性,以及 Clang 也有的特性是,代码块如果在闭合的圆括号内的话,会返回最后语句的值 NSURL *url = ({ NSString *urlString = [NSString stringWithFormat:@"%@/%@", baseURLString, endpoint]; [NSURL URLWithString:urlStri
漏洞利用是获得系统控制权限的重要途径。用户从目标系统中找到容易攻击的漏洞,然后利用该漏洞获取权限,从而实现对目标系统的控制。为了便于用户练习,本章将介绍Metasploit发布的Metasploitable 2。用户可以将其作为练习用的Linux操作系统。本章将利用Metasploitable系统上存在的漏洞,介绍各种渗透攻击,如MySQL数据库、PostgreSQL数据库及Tomcat服务等,其
简介 一旦我们完成了漏洞扫描步骤,我们就了解了必要的知识来尝试利用目标系统上的漏洞。这一章中,我们会使用不同的工具来操作,包括系统测试的瑞士军刀 Metasploit。 6.1 安装和配置 Metasploitable 这个秘籍中,我们会安装、配置和启动 Metasploitable 2。 Metasploitable 是基于 Linux 的操作系统,拥有多种可被 Metasploit 攻击的漏洞