背景:本硕211,3段产品实习经历,一段中厂,一段大厂。 一面面试官没怎么问项目,过了。 二面HR面,很细致的问了个人选择和团队的事 三面知道是主管面,提前做了很多产品分析、项目细节的准备。但很神奇,面试前准备的题目都没命中😨,面试官似乎更在意你在学校做了什么。 1.自我介绍 2.为什么不留在家长考公务员(有说考研最初是为了考公)? 3.产品经理需要哪些能力? 4.求学经历在哪些方面锻炼了上述提
三面凉啦 给自己攒攒人品 测试方面: 测试总体流程 播放视频测试用例 直播黑屏原因 技术方面: c++重载重写重定义 虚函数 虚继承 进程线程 死锁 堆栈 指针 数组 TCP UDP HTTP DNS IP协议 coding: 二分查找 url反转 二叉树是否相同 个人方面一堆开放性问题 实习巴拉一堆 项目巴拉一堆 #字节跳动##测试开发#
第一次发帖,说一下字节测开三面吧,感觉很不好,问的有点难,最后题都没做就结束了。 首先介绍一下自己,包括学了哪些课程。 然后开始问八股 路由协议有哪些。OSPF怎么获得链路状态的,怎么决定路由的。(不知道) ARP是什么,ARP攻击有哪些。ARP***怎么工作的(不知道)。 NAT网关是什么,作用。 还有linux命令。 怎么使用linux命令获取top第三行第四列的结果(不会) linux一条命
如果不想设立自己的 Git 服务器,你可以选择将你的 Git 项目托管到一个外部专业的托管网站。 这带来了一些好处:一个托管网站可以用来快速建立并开始项目,且无需进行服务器维护和监控工作。 即使你在内部设立并且运行了自己的服务器,你仍然可以把你的开源代码托管在公共托管网站 - 这通常更有助于开源社区来发现和帮助你。 现在,有非常多的托管供你选择,每个选择都有不同的优缺点。 欲查看最新列表,请浏览
二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意结点的右子树不空,则右子树
目录 第一章 - 介绍 第二章 – MQTT控制报文格式 第三章 – MQTT控制报文 第四章 – 操作行为 第五章 – 安全 第六章 – 使用WebSocket 第七章 – 一致性目标 附录B - 强制性规范声明 本章目录 3.1 CONNECT – 连接服务端 3.2 CONNACK – 确认连接请求 3.3 PUBLISH – 发布消息 3.4 PUBACK –发布确认 3.5 PUBREC
1. 介绍 nginx是分成一个个模块的,比如core模块,gzip模块(ngx_http_gzip_static_module),proxy模块(ngx_http_proxy_module),每个模块负责不同的功能,例如ngx_http_gzip_static_module负责压缩,ngx_http_proxy_module负责反向代理的请求,除了基本的模块,有些模块可以选择编译或不编译进ngi
这个教程中我们会涉及条形图和直方图。我们先来看条形图: import matplotlib.pyplot as plt plt.bar([1,3,5,7,9],[5,2,7,8,2], label="Example one") plt.bar([2,4,6,8,10],[8,6,2,5,6], label="Example two", color='g') plt.legend() plt.xla
beego 支持第三方应用的集成,用户可以自定义 http.Handler,用户可以通过如下方式进行注册路由: beego.RouterHandler("/chat/:info(.*)", sockjshandler) sockjshandler 实现了接口 http.Handler。 目前在 beego 的 example 中有支持 sockjs 的 chat 例子,示例代码如下: packa
简介 渗透测试可以通过多种途径完成,例如黑盒、灰盒和白盒。黑盒测试在测试者没有任何应用的前置信息条件下执行,除了服务器的 URL。白盒测试在测试者拥有目标的全部信息的条件下执行,例如它的构造、软件版本、测试用户、开发信息,以及其它。灰盒测试是黑盒和白盒的混合。 对于黑盒和灰盒测试,侦查阶段对测试者非常必然,以便发现白盒测试中通常由应用所有者提供的信息。 我们打算采取黑盒测试方式,因为它涉及到外部攻
Promise的限制 本节中我们将要讨论的许多细节已经在这一章中被提及了,但我们将明确地复习这些限制。 顺序的错误处理 我们在本章前面的部分详细讲解了Promise风格的错误处理。Promise的设计方式——特别是他们如何链接——所产生的限制,创建了一个非常容易掉进去的陷阱,Promise链中的错误会被意外地无声地忽略掉。 但关于Promise的错误还有一些其他事情要考虑。因为Promise链只不
Promise API概览 让我们复习一下我们已经在本章中零散地展开的ES6PromiseAPI。 注意: 下面的API尽管在ES6中是原生的,但也存在一些语言规范兼容的填补(不光是扩展Promise库),它们定义了Promise和与之相关的所有行为,所以即使是在前ES6时代的浏览器中你也以使用原生的Promise。这类填补的其中之一是“Native Promise Only”(http://gi
错误处理 我们已经看过几个例子,Promise拒绝——既可以通过有意调用reject(..),也可以通过意外的JS异常——是如何在异步编程中允许清晰的错误处理的。让我们兜个圈子回去,将我们一带而过的一些细节弄清楚。 对大多数开发者来说,最自然的错误处理形式是同步的try..catch结构。不幸的是,它仅能用于同步状态,所以在异步代码模式中它帮不上什么忙: function foo() {
链式流程 我们已经被暗示过几次,但Promise不仅仅是一个单步的 这个然后那个 操作机制。当然,那是构建块儿,但事实证明我们可以将多个Promise串联在一起来表达一系列的异步步骤。 使这一切能够工作的关键,是Promise的两个固有行为: 每次你在一个Promise上调用then(..)的时候,它都创建并返回一个新的Promise,我们可以在它上面进行 链接。 无论你从then(..)调用的完
Promise的信任 我们已经看过了两个强烈的类比,它们解释了Promise可以为我们的异步代码所做的事的不同方面。但如果我们停在这里,我们就可能会错过一个Promise模式建立的最重要的性质:信任。 随着 未来值 和 完成事件 的类别在我们探索的代码模式中的明确展开,有一个问题依然没有完全明确:Promise是为什么,以及如何被设计为来解决所有我们在第二章“信任问题”一节中提出的 控制倒转 的信