面试

关于动态规划,你想知道的都在这里了!

不羁的心 提交于 2020-12-03 14:37:16
作者 | Your DevOps Guy 翻译| 火火酱~,责编 | 晋兆雨 出品 | AI科技大本营 头图 | 付费下载于视觉中国 什么是动态规划?它又有什么重要的呢? 在本文中,我将介绍由Richard Bellman在20世纪50年代提出的动态规划(dynamic programming)概念,这是一种强大的算法设计技术——将问题分解成多个小问题,存储它们的解,通过将其结合在一起,最终得到原始问题的解决方案。 FAANG编程面试中最难的问题通常都属于这一类。你在面试的过程中也很可能会被要求解决这样的问题,因此,了解这项技术的重要性自然不言而喻。接下来,我将解释什么是动态规划,给出一个解决动态规划问题的秘诀,并且和大家一起分析几个示例,以便你能够更好地理解其应用场合和应用方法。 和我以往有关编程面试的文章一样,在本文中,我将分享自己在使用这种方法解决问题时的思考过程,这样当你在面对其中一个问题时,按照这个过程一定也能解决。不需要死记硬背,我们只需要通过了解技术和实践,将想法转化成代码技能。编程的重点不在于学习编程语言,而在于分析问题,考虑不同的解决方案,从中选出最优解,然后通过某种编程语言将其转化为现实。 动态规划 动态规划是一种解决最优化、搜索和计数问题的通用技术,这些问题都可以被分解为多个子问题。要应用动态规划,问题就必须具备以下两个属性: 最优子结构(Optimal

离开京东之后的14面Java程序员跳槽之旅:面试回顾和一点感想

偶尔善良 提交于 2020-12-03 14:36:14
20年,打算离开京东,换个地方,然后开始了跳槽之旅。 先和boss们打了招呼,然后请假专心面试,2周内请假了6天左右时间,敲定了offer。 然后交接了2周,离开了我大京东。 面试情况 1.商越网络 创业公司,做企业采购。某周五晚上,下班了,过去聊了聊。 只有一面,总体难度中等,有简单的有复杂的。 面试印象:中规中矩 地点:硅谷亮城 2.必要商城 创业公司,电商,C2M概念。 一面较基础,打的还不错。二面难了一点,答得一般。 面试印象:中规中矩 地点:呼家楼附近 3.每日 优鲜 独角兽了,生鲜电商。 一面,总监亲自上场,简单聊了下总体情况,技术细节问的不多。 二面,某资深开发,技术问得不深,主要了解总体能力,个人情况。 三面,HR自称很忙,晚点微信联系。然后被套路欺骗了。 4.平安健康 周六专场。 一面比较基础,答得不错。 二面,自称架构师,没怎么问太多技术,主要是交流技术问题、公司部门现状,需求几千个做不完之类的。 (架构师提到了,跳槽较多,公司内部有五二原则之类的,和京东的五二原则差不多) 三面,HR,各种盘问,一副很拽的样子。 5.百信银行 一面,答得一般,只当是技术交流。 一面过程中,又跑进来 招聘联系的那个人,可能还有他老大或者同级同事之类的。不太友好。 一面面试官不太好发挥。 面试印象:很差。 6.百融金融 一面,答得还行,面试官比较友好。 二面

面试字节跳动Java一面问题基本都答对了,邮件通知被刷了,hr回复原因竟然是...

拈花ヽ惹草 提交于 2020-12-03 13:10:49
简介 面试是上海的Java岗位,周日一轮面试,自我感觉答的都还不错。 结果收到邮件面试结束了,说什么"你优秀的学识和能力给我们留下了深刻的印象!经过对你综合情况的仔细评估,并经过与岗位需求进行谨慎匹配和权衡之后, 非常遗憾,我们这次没有和你达成合作。但你的信息已经被录入到公司人才库"。意思就是挂了呗。 后来打电话问hr,说是我擅长的技术不是他们所需要的,???(黑人问号)。然后面试过程中,有一点奇怪的地方,面试前面试官跟我说我面的而这个岗位有点奇怪,他也没跟我说哪奇怪。 本文分享给需要面试刷题的朋友,另外本人也整理了一份资料包含了Java基础,数据结构,jvm,Redis,并发多线程,分布式,数据库等等,由于篇幅有限,以下只展示小部分面试题,有需要的朋友可以点击进群 795983544 领取,暗号CSDN 面试官的问题: 1.自我介绍 2.介绍印象深刻的项目,我介绍的是最新在做的项目,用到的技术,自己做的哪些模块? 回答:讲了用到的设计模式——模版方法,然后讲了模式方法的实现 3.因为最新的项目用到了,问了Spring Boot,Spring的区别? 回答:去配置化话,然后其他的基本一样,顺便说了一下Spring MVC的原理 4.Spring 的 bean是什么?我说了IOC、DI、Bean之间的关系 5.Hibernate 和 Mybatis的区别? 6

太牛了!TCP 协议面试 10 连问

不问归期 提交于 2020-12-03 11:54:57
先亮出这篇文章的思维导图 TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。 001. 能不能说一说 TCP 和 UDP 的区别? 首先概括一下基本的区别: TCP是一个面向连接的、可靠的、基于字节流的传输层协议。 而 UDP是一个面向无连接的传输层协议。 (就这么简单,其它TCP的特性也就没有了)。 具体来分析,和 UDP 相比, TCP 有三大核心特性: 面向连接 。所谓的连接,指的是客户端和服务器的连接,在双方互相通信之前,TCP 需要三次握手建立连接,而 UDP 没有相应建立连接的过程。 可靠性 。TCP 花了非常多的功夫保证连接的可靠,这个可靠性体现在哪些方面呢?一个是有状态,另一个是可控制。 TCP 会精准记录哪些数据发送了,哪些数据被对方接收了,哪些没有被接收到,而且保证数据包按序到达,不允许半点差错。这是 有状态 。 当意识到丢包了或者网络环境不佳,TCP 会根据具体情况调整自己的行为,控制自己的发送速度或者重发。这是 可控制 。 相应的,UDP 就是 无状态 , 不可控 的。 面向字节流 。UDP 的数据传输是基于数据报的,这是因为仅仅只是继承了 IP 层的特性,而 TCP 为了维护状态,将一个个 IP 包变成了字节流。 002: 说说 TCP 三次握手的过程

腾讯 面试总结

 ̄綄美尐妖づ 提交于 2020-12-03 11:52:43
作者:编号2015 链接: https://www.nowcoder.com/discuss/260 来源:牛客网 面试题汇总(干货) 计算机网络相关 1 TCP三次握手、四次挥手 2 TCP滑动窗口机制 3 TCP拥塞控制机制 4 socket模型 C/C++相关 1 虚析构、模板和宏 2 虚函数实现机制 3 vector与list的区别,map是如何实现的,查找效率是多少 4 extern 关键字有什么用 5 malloc和new的区别,能否malloc(1.2G) linux以及操作系统相关 1 内存池实现 2 进程间通信机制 3 Linux ps命令,以及看内存当前使用状态的命令 4 进程与线程的区别,共享的数据 5 进程的内存空间 算法与数据结构 (手写代码实现) 1 大整数加、减、乘、除、求模运算实现 2 很多整数,找其中出现次数最多的那个数 3 单链表翻转(两个指针如何实现)、查找、删除、插入以及双向链表、有序链表合并 4 判断一个整数是否是2的整数次幂.(n&(n-1)) 5 二分查找(注意边界条件) 6 常见排序算法的实现以及稳定性(快排跟归并考的很多) 7 字符串翻转(O(n))、匹配(KMP算法) 8 最长递增子序列(nlogn的算法) 9 链表判断是否有环,环的入口,两个链表是否相交(快慢指针)。 10 指定一个数组,求2个数的和等于指定的和(某一个数)

太可怕了,开发5年的我与Alibaba面试官“大战”7回合,险胜拿到p7岗offer!

烂漫一生 提交于 2020-12-03 11:40:14
今年受大环境影响,整个互联网企业裁员的现象比往年严重多了,恰巧今年又是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽涨薪了。而这次的阿里之行也是路途坎坷,真的太为难我了,可以说是和面试官大战了7个回合,不过好在最后到底还是给了offer!我个人情况是5年Java后台经验,阿里定级P7的样子,下面是我的面试经历分享,希望能带来一些不一样的启发和帮助。 我与Alibaba面试官“大战”7回合,胜 Alibaba大战 第一轮 第一轮面试是电话面,以基础知识为主,前后大概2个小时左右,这个阶段我是比较紧张的。 先自我介绍,包含日常工作 多线程,ThreadLocal,问了父子线程怎么共享数据 interitableThreadLocals Lock和Sync的区别 AQS原理(执行过程源码,入队出队的细节,源码细节) CountDownLatch和CyclicBarrier的区别是什么源码级别 volatile从指令重排序,内存屏障 数据库,MySQL索引,执行计划、count1*区别、举例优化sql、MVCC和事务隔离级别的关系、间隙锁、行锁 JVM调优(可达性分析算法中根节点有哪些、cms和G1区别、怎样GC调优、怎样排查CPU彪高、内存彪高、逃逸分析) redis数据结构、跳跃表、redis qps能上多少,怎么知道的

ArrayList 面试10连问

牧云@^-^@ 提交于 2020-12-03 11:36:11
** 【集合】ArrayList 10连问 ** List list = new ArrayList(); 1问:当我们new了一个ArrayList,底层new了一个什么?new了一个数组 2问:什么类型的数组?object[] 3问 : 数组的长度是多大?10 ;数组长度默认是空, add 以后 底层创建了长度是10的Object[]数组 4问:数组的长度是10,我现在要放25, 为什么没有报【数组下标越界异常】 , 容量不够,有扩容机制 5问:扩容为原来的1.5倍, ArrayList每次扩容为原值的一半,hashmap每次扩容为原值的一倍; 10 第一次扩容原值一半是 15; 6问:第二次扩容是多少?第二次扩容是15+7.5=22.5 向上取整为22;第三次扩容为33 7问:有没有看过ArrayList底层源码? 有,扩容是怎么扩的? 底层用的是什么方法? 底层用的是Arrays.copyOf elementData = Arrays.copyOf(elementData, size, Object[].class); 8问:ArrayList 是线程安全的还是线程不安全的? ArrayList是线程不安全的,你确定吗? 我确定 9问:请你写一个线程不安全的case,会报什么故障,怎么处理? 会报:java.util

在顾腾讯,腾讯面试有多难,熬夜狂啃复习笔记的我终于爬进了的腾讯的大楼

末鹿安然 提交于 2020-12-03 11:35:15
腾讯这两个字在我心中充满了压力 说起来,我相信大部分程序员对于腾讯这两个字都充满了向往,我也不例外。可是面对腾讯,我是付出了百分之三百的努力,7天狂啃了594PDF才爬进去的。 我先介绍一下我自己 本硕211毕业,不是很好吧,在大多数人的心中还是觉得可以的。可是面对鹅厂里面的“怪物”,刚毕业的我还是太鲁莽了。 面试经过真是“血与泪的融合” 一面 一面的时候面试官问的算法问题基本上我都是回答不出来的。所以一面只真就是“一面”,在“回去等通知中”草草了事了。 二面 心对腾讯着迷的我(PS.因为初中的时候喜欢打游戏,对游戏的设计以及开发非常感兴趣。这是我进鹅厂一个很重要的原因)还是一心向往腾讯,失败算什么?成功:你是我儿子。哈哈哈哈,在我复习一个月之后,依然往腾讯投了简历。依然是面了试,不过这次我又失败了。但是我从中看到了希望,自夸一下我这个最好的习惯就是总结失败的经验,这也为我三面腾讯,最终获得offer奠定了基础。 三面 在二面失败后,我花了1天总结失败的经验,花了7天狂啃PDF和资料(当时废寝忘食是真的可以形容我了)每天6点起床然后除了看书就是做面试题,终于在最后的面试中画上了最美的句号。话不多说,因为篇幅问题我只上传了第三面面经。分享-些我个人的学习文档, 需要获取得话麻烦一键三连之后看下图小助理的微信:(vip23373)添加即可免费获取到哦

3年Java开发10面阿里、京东、拼多多

孤者浪人 提交于 2020-12-03 04:40:53
拼多多 地点: 2号线娄山关路地铁站(金虹桥国际中心) 环境: 新的写字楼,环境很好,有种高大上的感觉。大厅进入后需要登记,然后进闸机。电梯是需要刷卡才能使用的。会议室都是用城市名称命名,例如杭州、香港等,每个会议室都配了很多纯净水等,感觉不差钱。约的是晚上面试,所以正好碰到员工吃饭时间,感觉就像赶集一样,人特别多,11 11 6的作息时间你懂得。 面试流程: 前台登记,填写个人信息表,然后等面试官,面试流程是2轮技术面试+HR面试,其中两轮技术面试分业务面试+技术问题面试。业务面试问的问题基本是围绕当前做过的项目为例,一些实际问题的处理方式,例如分布式事务如何保证。技术面试基本是围绕java技术和中间件的原理实现。另外可能会有算法题。 整体评价: 拼多多的氛围感觉像打了鸡血一样,很有激情的一个公司。唯一在公司门口有保安的。 难度级别: 四星 京东到家 地点: 4号线杨树浦路地铁站(东方渔人码头国际中心),下地铁后需要步行20-30分钟,骑单车要5分钟左右。说实话有点不方便。 环境: 东方渔人码头国际中心写字楼,公司装修比较新,环境是互联网公司的简约风格。 投递方式: 猎头推荐 面试流程: 前台登记,填写个人信息,等面试官。面试分二轮技术面试+HR面试。两轮技术面试应该是部门交叉面试,基本都是分两部分,第一部分是当前做过的项目的技术架构,详细介绍同时一些问题的处理方式

学习Python需要用到哪些工具?大佬:有这几个就够了

北城以北 提交于 2020-12-02 22:07:51
毋庸置疑,Python越来越被认可为程序员新时代的风口语言,Python的应用能力是成为一代码农大神的必要项。 首先告诉你的是,零基础学习开始系统学习Python肯定难,Python的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你认真的对待,你就找不到高薪水的工作,所以首先学习Python意志,坚持非常重要,很多人放弃的原因根本就是缺乏这些素质。 零基础学习Python必须明确的几点: 1.明确你将来是做什么工作的,需要掌握哪些技能,很多人连这个就不知道就盲目的学,首先选择一套专业系统的Python学习教程,学习编程千万不要东凑西凑,一定要系统的学,整个课程最好都是一个老师讲解的。你要清楚,现在公司需要什么人才,你应该奔着什么目标努力。Python的学习方向有很多,主要还是web。代码一定要规范,这本身就是一个非常好的习惯,如果开始不养好好的代码规划,以后会很痛苦。 2.系统的学习规划,规划好你每天学习的新知识和每天做的作业和练习,很多人想自学Python,很重要的一点,一定要动手写代码,一定要多写项目,勤加练习写代码,要明白操作才是真理。不然就是浪费时间。什么都不管,操作又跟不上,那能找到工作吗?老板又不傻,现在学习Python想找到工作,没有4-6个月的根本不行,所以规划是一定要有的