投递简历26份,邀约面试10家,其中有一线大厂,有独角兽,也有B轮+的创业型公司,通过这些丰富的经历,笔者总结了面试中普遍的三类问题,分享给大家。互联网降薪裁员风波似乎还没完全进入尾声,我却做出了换工作的决定。现在想想,多多少少也是有点疯狂了,也算是兑现承诺。分享一下这次求职数据:投递简历26份,邀约面试10家,最终offer沟通阶段3家,简历通过率为38%,offer率为30%,整体感觉下来还算顺利。简历通过率取决于:简历与岗位匹配度;offer率取决于面试表现。我找工作靶向性还是挺强的,原则是精准筛选,绝不海投。目标公司层次是大型&上市公司,目标职位是用户增长&留存&交易方向。简历上的项目
前置思考实现锁应该考虑的问题如何获取资源(锁)?获取不到资源的线程如何处理?如何释放资源?资源释放后如何让其他线程获取资源?由此可以得出实现一把锁,应该具备哪些逻辑锁的标识需要有个标识或者状态来表示锁是否已经被占用。线程抢锁的逻辑多个线程如何抢锁,如何才算抢到锁,已经抢到锁的线程再次抢锁如何处理等等。线程挂起的逻辑线程如果抢到锁自然顺利往下运行了,而那些没有抢到锁的线程怎么处理呢?如果一直处于活跃状态,cpu肯定是吃不消,那就需要挂起。具体又如何挂起呢?线程存储机制没有抢到锁的线程就挂起了,而且被挂起的线程可能有很多个,这些线程总要放在某个地方保存起来等待唤醒,然而这么多被挂起的线程,要唤醒哪
从小厂出来,没想到在另一家公司又寄了。到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到9月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,这下搞的饭都吃不起了。还在有个朋友内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问死了:如果模块请求http改为了https,测试方案应该如何制定,修改感觉好简单的题,硬是没有答出来,早知道好好看看一大佬软件测试面试宝典了。通过大数据总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点:全网首发-涵盖16个技术栈第一部分,测试理论(测试基础+需求分析+测试模型+测试计划+测试策
半年多来,Meta开源的LLaMA架构在LLM中经受了考验并大获成功(训练稳定、容易做scaling)。沿袭ViT的研究思路,我们能否借助创新性的LLaMA架构,真正实现语言和图像的架构统一?在这一命题上,最近的一项研究VisionLLaMA取得了进展。VisionLLaMA在图像生成(包含Sora依赖的底层的DIT)和理解(分类、分割、检测、自监督)等多个主流任务上相较于原ViT类方法提升显著。论文标题:VisionLLaMA:AUnifiedLLaMAInterfaceforVisionTasks论文地址:https://arxiv.org/abs/2403.00522代码地址:https
在处理大量数据判重的问题时,有多种策略和方法可供选择。对于10亿级别的数据,由于内存限制和性能考虑,我们不能简单地将所有数据加载到内存中,然后使用传统的集合(如HashSet)进行判重。相反,我们需要考虑使用分布式系统、数据库索引或其他高效的数据结构。以下是几种处理10亿数据判重的常见方法:分块处理:将10亿数据分成多个小块,每块在可接受的内存范围内。然后,对每个小块进行判重,并将结果保存到另一个集合中。最后,对这个集合进行判重以得到最终的不重复数据。使用数据库索引:如果数据存储在数据库中,可以利用数据库的索引和唯一性约束来快速判重。例如,在SQL中,我们可以使用DISTINCT关键字或GRO
微服务中的灰度发布(又称为金丝雀发布)是一种持续部署策略,它允许在正式环境的小部分用户群体上先部署新版本的应用程序或服务,而不是一次性对所有用户同时发布全新的版本。这种方式有助于在生产环境中逐步验证新版本的稳定性和兼容性,同时最小化潜在风险,不影响大部分用户的正常使用。1.灰度发布关键步骤在SpringCloud微服务架构中,实现灰度发布通常涉及到以下几个方面:流量分割:根据一定的策略(如用户ID、请求头信息、IP地址等)将流入的请求分配给不同版本的服务实例。使用SpringCloudGateway、Zuul等API网关组件实现路由规则,将部分请求定向至新版本的服务节点。版本标识:新版本服务启
先了解一下读本篇前,一定要确保已经读过本公众号的AQS讲解。我们知道实现一把锁要有如下几个逻辑锁的标识线程抢锁的逻辑线程挂起的逻辑线程存储逻辑线程释放锁的逻辑线程唤醒的逻辑我们在讲解AQS的时候说过AQS基本负责了实现锁的全部逻辑,唯独线程抢锁和线程释放锁的逻辑是交给子类来实现了,而ReentrantLock作为最常用的独占锁,其内部就是包含了AQS的子类实现了线程抢锁和释放锁的逻辑。我们在使用ReentrantLock的时候一般只会使用如下方法ReentrantLocklock=newReentrantLock();lock.lock();lock.unlock();lock.tryLock
JIT、逃逸分析等都属于JVM优化手段,JVM(Java虚拟机)优化手段是指在运行Java程序时,通过对字节码的编译和执行过程进行优化,以提升程序的性能和效率。JVM优化手段主要有以下几个:JIT(Just-In-Time,即时编译):是一种在程序运行时将部分热点代码编译成机器代码的技术,以提高程序的执行性能的机制。逃逸分析:用于确定对象动态作用域是否超过当前方法或线程,通过逃逸分析,编译器可以决定一个对象的作用范围,从而进行相应的优化,但确定对象没有逃逸时,可以进行以下优化:栈上分配:如果编译器可以确定一个对象不会逃逸出方法,它可以将对象分配在栈上而不是堆上。在栈上分配的对象在方法返回后就会
1、需要了解的vue概要知识1、vue是什么?一套用于构建用户界面的渐进式JavaScript框架。为什么vue被称为是渐进式JS框架?答:Vue允许开发者在不同的项目中以渐进式的方式使用它,这种渐进式表现在以下的方面:逐步采用:Vue可以被逐步引用到现有的项目中,而不是需要一次性重写整个应用。可以选择将Vue用于某个小部分的界面,或者将其应用于整个应用程序的开发。轻量级核心:Vue的核心库非常轻量级,只关注图层,并且易于学习和上手。你可以根据自己的需求选择性地添加插件和库来扩展Vue的功能,而不需要太多的复杂性。单文件组件:Vue支持单文件组件,即将模版、样式和逻辑组合在一个文件中。这种方式
XPATH是什么 XPATH是一门在XML文档中查找信息的语言,XPATH可用来在XML文档中对元素和属性进行遍历,主流的浏览器都支持XPATH,因为HTML页面在DOM中表示为XHTML文档。SeleniumWebDriver支持使用XPATH表达式来定位元素。Xpath常用如下6种定位元素的方法:1、通过绝对路径定位 绝对路径的开头是一个斜线(/),从网页的根节点html开始,逐层去查找需要定位的元素。 此方法缺点显而易见,当页面元素位置发生改变时,都需要修改,因此,并不推荐使用。代码如下:以百度首页的搜索框为例importosfromseleniumimportwebdriverf