面试

腾讯SNG的实习offer(多篇面经分享)

大兔子大兔子 提交于 2020-11-21 04:41:34
本人双非一本,春招实习投的岗位是后端开发(主要是C++和Go),平时做项目用的语言都是Go,简历上的项目都是Go web(已经上线了),没有C++的项目经验。现在拿到了腾讯SNG后台开发的实习offer。下面是我的春招找实习的经历。 百度 这里先感谢下在百度工作的师兄,谢谢他的内推,我正式投百度连笔试机会都没有。 百度是我春招面的第一家,3月初就来了电话。当时还没开始复习,慌的不行。 下面是面经。 2018-3-12 一面(电面50多分钟) 为什么喜欢后端开发? 你觉得创新班怎么样?在创新班学到什么? Go的数组、slice、map Go的多个channel如何处理 Go的错误处理机制 Go的调度和协程 堆和栈的区别 项目中用到了队列吗,怎么用的? tcp和udp的区别 postgresql和mysql的区别和优缺点比较 列举10个linux常用的命令 用shell实现从文件取出某个列并且去重 如何定位很难重现的bug 两个有序链表合成一个有序的链表 寻找有环链表的相交点 进程和线程的区别 为什么使用多线程? 项目部署后如何监控? 谈谈熟悉的排序算法 C++的多态,动态绑定的实现原理 C++的深拷贝和浅拷贝 C++的引用和指针的区别 线程的同步机制 团队的同事如果提出不同的建议怎么处理? 因为没准备,有很多问题答的不好,然后挂了。 腾讯(SNG腾讯云) 2018-3-13

图文解析 2019 面试算法题「字符串处理 + 动态规划 汇总」

醉酒当歌 提交于 2020-11-21 04:25:30
Attention 秋招接近尾声,我总结了 牛客、WanAndroid 上,有关笔试面经的帖子中出现的算法题,结合往年考题写了这一系列文章,所有文章均与 LeetCode 进行核对、测试。欢迎食用 本文将覆盖 「字符串处理」 + 「动态规划」 方面的面试算法题,文中我将给出: 面试中的题目 解题的思路 特定问题的技巧和注意事项 考察的知识点及其概念 详细的代码和解析 开始之前,我们先看下会有哪些重点案例: 为了方便大家跟进学习,我在 GitHub 建立了一个仓库 仓库地址: 超级干货!精心归纳 视频、归类、总结 ,各位路过的老铁支持一下!给个 Star ! <br> 现在就让我们开始吧! <br> 字符串处理 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象, Java 提供了 String 类来创建和操作字符串。面试中的字符串处理问题,主要是对于字符串各种方法的灵活应用。下面结合实例,讲讲常见的考点: <br> <br> 括号生成 给定 n ,表示有 n 对括号, 请写一个函数以将其生成所有的括号组合,并返回组合结果。 例如 给出 n = 3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", "()()()" ] 解题思路 使用 回溯法 只有在我们知道序列仍然保持有效时才添加 '(' or ')',而不是像

专科毕业五年,我进腾讯了!

微笑、不失礼 提交于 2020-11-21 04:11:50
作者:Lam 链接:https://zhuanlan.zhihu.com/p/265147335 如果大家有看到我上一篇文章,就知道从2020年的年头到年中,我一直在面试者阿里的各种岗位,但是结果都是很无奈,下面的链接,有兴趣的可以看看。 https://zhuanlan.zhihu.com/p/223459952 从我开始做前端的时候,我就发誓我必须要进BAT,作为一个只是普通大专毕业的我,也没有大厂的工作背景,其实对于30岁甚至35岁之后的发展,个人感觉是很受限制的,所以进入BAT是我一开始的目标,可能这就是曲线救国吧。 那么本篇文章主要围绕两个部分: 前端现在个人觉得的一些现状 腾讯面经 想看面经的可以直接看面经,但是如果你也和我一样,学历不怎么样,一直在小公司打滚,想进入大厂的话,可以好好看看第一部分的内容。第一部分是我一直在中小公司打滚快5年的时间里,感受到的问题,和一些自己的感受。 困局 首先我先说说我的基本情况吧,我已经做前端5年左右的时间了,中间干过3家公司,都是属于中型互联网企业和创业型的公司,规模不算大。而我的学历也只是普通的大专毕业,然后考了个成人本科。所以我的情况应该算是当下很多苦恼进不了大厂,或者一直在中小公司打滚天天切图的前端一个影子。所以应该也算比较算有代表性的一类前端吧。 为什么说是困局呢? 在2020年我几乎面试了一整年,从普通的一些小公司

深入JVM内存区域管理,值得你收藏

做~自己de王妃 提交于 2020-11-21 04:09:30
JDK和JRE和JVM的关系 JDK(Java Development Kit)是程序开发者用来来编译、调试java程序用的开发工具包 JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台。所有的Java 程序都要在JRE下才能运行。普通用户只需要运行已开发好的java程序,安装JRE即可 JVM(JavaVirtualMachine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统 JVM内存区域 本文的讲解都从这个图一一开始,你脑海里先试着回忆一下这个几个区域的概念,是独享的还是共享的?每个区域都存储了什么?哪些区域会被垃圾回收?哪些区域会抛出OOM?哪些区域会抛出SOF?如何避免 什么是JVM运行时数据区域? Java虚拟机定义了在程序执行期间使用的各种运行时数据区域。其中一些数据区域是在Java虚拟机启动时创建的,仅在Java虚拟机退出时才被销毁。其他数据区域是每个线程的。创建线程时创建每个线程的数据区域,并在线程退出时销毁每个数据区域。 堆内存 堆内存中存储的是所有类实例和数组的内存,在虚拟机启动时创建,虚拟机结束时销毁,归还给操作系统,堆内存中对象的销毁都JVM自行管理(垃圾收集器)

原子操作CAS

狂风中的少年 提交于 2020-11-21 02:24:22
一、什么是原子操作 不可被中断的一个或者一系列操作、 CAS是Compare And Set的缩写,是以一种 无锁的方式实现并发控制 。在实际情况下,同时操作同一个对象的概率非常小,所以多数加锁操作做的是无用功, CAS以一种乐观锁的方式实现并发控制 。 二、实现原子操作的方式 Java可以通过锁和循环CAS的方式实现原子操作。 三、CAS( Compare And Swap ) 为什么要有CAS? Compare And Swap就是比较并且交换的一个原子操作,由Cpu在指令级别上进行保证。 为什么要有CAS:因为通过锁实现原子操作时,其他线程必须等待已经获得锁的线程运行完以后才能获得资源,这样就会占用系统的大量资源 四、 CAS包含哪些参数? CAS包含三个参数:1、变量所在内存地址V;2、变量对应的值A;3、我们将要修改的值B。如果说V上的变量的值是A的话,就用B重新赋值,如果不是A,那就什么事也不做,操作的返回结果原值是多少。 循环CAS:在一个(死)循环【for(;;)】里不断进行CAS操作,直到成功为止(自旋操作即死循环)。 五、CAS的原理 利用了现代处理器都支持的CAS的指令,循环这个指令,直到成功为止 六、CAS 实现原子操作的三大问题 1、 ABA问题:其他的线程把值改成了 B ,很快改成了A,原子操作的线程发现值是A就修改,这样会有问题。解决ABA,引入版本号

原子操作类 CAS

一个人想着一个人 提交于 2020-11-21 02:06:44
戳 蓝色字“ 码之初 ”关注,每天都进步! 来源: https://www.zhangjianbing.com/archives/54/ CAS (compare and swap),即:比较然后交换。 CAS 的原理 三个运算符:一个内存地址 V,一个期望值 A,一个新值 B。 基本思路:如果地址 V 上的值和期望值 A 相等,返回 true,并给地址 V 赋上新值 B,如果不是,返回 false,不做任何操作。 循环 (死循环,或者叫自旋) 里不断的进行 CAS 操作。 现代处理器都支持 CAS 的指令,循环这个指令,直到成功为止。 CAS 所带来的问题 1.ABA 问题。 所谓的 ABA 问题就是假设某个内存地址上有一个数值 A,但一个线程过来后把它变成了 B,然后又变回了 A,另一个线程过来后,发现内存地址上的值和期望的值一样,故 CAS 成功了,其实,内存地址上的值发生了变化,这种问题可以用加版本号的方式来解决。下面代码会演示。 2. 系统开销问题。 当一个 CAS 操作永远不成功,它就会一直自旋,系统开销巨大,遇到这种情况,我们只能使用 syn 锁或者其他锁的方式来替代 CAS 操作了。 3. 只能保证一个共享变量的原子操作。 就是只能够保证一个共享变量,如果想保证多个变量的话,可以将这些变量放入一个引用变量中,atomic 为我们提供了操纵引用变量的类,叫

放下你的自以为是!!!

非 Y 不嫁゛ 提交于 2020-11-21 01:57:33
请注意,这是一篇只有聪明人才看得懂的文章! 先来看几张图,看看你都看到了什么? 第一幅图有的人看到的是两张脸,有的人看到的是一个花瓶。 第二幅图看细节的人看到的是鸟儿喂食,看宏观的人看到的是一个美女。 如果这幅图是客观上有两种解答,那有三种人,一种是可以看到两种解答的人(A),另外两种是只能看到其中一种解答的人(B、C)。 一部分人当知道可能还有另一种情况的时候,立马就变成了A; 有一部分人(B)需要另外那部分人(A or C)告诉他怎么看才能看到; 还有一部分人(B or C),无论别人怎么说,他都无法理解另一面的存在。 我们日常生活的沟通也大体如此,所以必要的沟通是需要的,因为在你没有沟通之前,在这件事情上,不仅无法知道对方是哪种人,也无法知道自己是哪种人。 来看一道面试题: 随机生成一个长度为 10 的整数类型的数组,例如,将其排列成一个新数组[2, 10, 3, 4, 5, 11, 10, 11, 20],要求新数组形式如下,[[2,3,4,5],[10,11],[20]] 看完这道题,你觉得面试官想让你做什么? 天使和魔鬼 如果你犹豫,是因为前面所有的内容告诉你没那么简单,那么恭喜你,你变得更加智慧了。 想一想什么时候你最容易自以为是,就是你一看到这个题目就知道答案的时候。 这道题到底在考察什么呢?这是一个需求分析的过程,如果没有分析清楚,很有可能会出现下面这样的意外:

看字节3-2大佬20W字的Spring源码高级笔记,面试过关斩将,offer不要太容易!

徘徊边缘 提交于 2020-11-21 00:35:30
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。 最近小编整理了一下一线架构师的Spring源码高级文档:Spring+Spring Boot+Spring Cloud+Spring IOC,分享给大家一起学习一下~ 先看目录 由于篇幅原因,为了不影响阅读就只展示了目录和内容截图,有需要这份Spring源码高级笔记文档的朋友可直接点击下方资料库即可! 点击即可免费获取文中全集资料合集 再看看内容 第一部分 Spring基础 第二部分 IOC与AOP 核心思想 第三部分 手写实现 IoC 和 AOP 第四部分 Spring IOC 应用 第五部分 Spring IOC源码深度剖析 第六部分 Spring AOP 应用 第七部分 Spring AOP源码深度剖析 有需要Spring源码高级笔记完整文档的,直接点击下方资料库即可获取资料免费领取方式! 点击即可免费获取文中全集资料合集 同时附上:SpringBoot核心笔记文档 有需要Spring源码高级笔记完整文档的

字节跳动总监知乎5716赞的开发手记

萝らか妹 提交于 2020-11-20 16:25:53
最近有幸在一位字节跳动总监手里扒到了这份 开发笔记 ,将部分知识章节发布到了在知乎上竟然获得了5000+点赞! 今天就拿出来分享给大家,不管你是学生,还是已经步入职场的同行,希望你们都要珍惜眼前的学习机会, 奋斗没有终点,知识永不过时 。 如果觉得有收获的话,不要白嫖!点个赞/在看。除了 Java各种技术专题知识、大厂面试真题 ,也包括近些年他开发和工作过程中的一些感悟、心得。 这份资料包括 : IDEA、Java语法、面向对象、异常、常用类、集合、IO流、多线程、网络编程、JUnit、枚举、注解、反射机制、CSS、HTML、JavaScript、JQuery、ajax、Javaweb、MySQL、JavaEE、SSM框架、springboot、算法、Git、maven、Linux、设计模式、多线程与高并发、视频教程、视频源码、实战项目、电子书、简历模板、高频面试题等等资源。 目录: 5.1. 职业分析及定位 5.2. 职业生涯经验和建议 5.3. 程序员跳槽指南和简历技巧 5.4. 程序员“高分”简历模板(800+套) 1. 一线互联网公司面试真题合集(一) 2. 一线互联网公司面试真题合集(二) 3. BATJ面试攻略教程合集(2020版) 4. 海量专业技术教程(初级/中级/高级) 5. 目前主流企业使用最高频的面试题库 6. Java程序员进阶职业规划 7.

终于开放了!腾讯内部Java程序员必备SpringMVC实战架构文档,首发限时下载!!

回眸只為那壹抹淺笑 提交于 2020-11-20 16:13:02
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。 其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口。 Spring MVC框架提供了构建web应用程序的全功能MVC模块,使用了Spring可插入架构,可以选择是使用内置的Spring web框架还是struts这样的web框架,通过接口,Spring 框架是高度可配置的,而且包含多种视图技术,Spring MVC 在实践和面试中也会常遇到。 Spring MVC原理图 下面给大家分享的正是Spring MVC源代码分析和实践,这份PDF真的是很全面了,几乎包括了spring MVC中所有操作。 由于篇幅有限,笔记只能截图展示, 有需要Spring MVC核心笔记完整文档可三连后 私信关键词【进阶】或者查看下方即可免费领取! 闲话少说 直击目录: 内容展示: 篇幅有限,整个文档的内容太多太全了,需要的小伙伴可以三连一下,直接扫描下方 即可免费领取。 来源: oschina 链接: https://my.oschina.net/u/4385759/blog/4727427