秋招--线上笔试记录

  这系列帖子用来记录的我凉凉的线上笔试,第一次笔试让我更加深刻的认识到了自己的不足,以及还有许多知识点没有看,算法这一块我看来还没入门,只能说秋招道路任重而道远。希望去北京的这条路自己可以能走得再快一点。

  下面来记录一下,在这次笔试的我的一些问题

单选

  1.最短路径:用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。

  2.通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入的排序算法是(插入算法)

  3.信号量是对一个共享资源访问控制表示一个事件发生并让两个任务同步,有三个进程共享一程序段,而每次最多允许两个进程进入程序段,则信号量取值范围

  信号量

  目的:可以使用信号量来限制访问一个共享资源的线程数

  含义:信号量指对共同资源进行访问控制的对象。在访问资源之前,线程必须从信号量获取许可,在访问完资源之后,这个线程必须将许可返回给信号量。一旦获得许可,信号量中可用许可的总数减1,一旦许可被释放,信号量中许可数加1.

  锁与信号量之间的区分

  区别:

    作用域

      信号量:进程间或者线程间

      互斥锁:线程间

      信号量:如果信号量的value > 0;那么其他的线程可以执行任务。并且成功执行  后,value--;如果value=0,那么线程sem_wait 使得线程阻塞,直到sem_post被释放后value++,其他的线程才可以根据value执行。
      互斥锁:只有一个对象被上了锁(加锁),那么其他任何线程都不可访问被加锁的对象。
      信号量:用在多线程多任务的同步的,一个线程完成了某个动作就通过信号量告诉别的线程,别的线程在进行某些动作。

      互斥锁:用在多线程多任务互斥的。一个线程占用了某个资源后,那么别的线程就无法访问,直到这个线程unlock,其他线程才可以利用。

  4.java NIO

   标准的IO基于字节流和字符流进行操作的,而NIO是基于通道和缓冲区进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。

   java NIO:Non-blocking IO(非阻塞IO)而java IO是阻塞的

   java NIO可以让你非阻塞的使用IO,例如:当线程从通道读取数据到缓冲区时。线程还是可以进行其他与事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入铜带也类似。

   java NIO引入了选择器的概念,选择器用于监听多个通道的事件(比如:连接打开,数据到达)因此,单个线程可以监听多个数据通道

  5.电子邮件系统中,用户代理把邮件发送发送邮件服务器,发送方邮件服务器把邮件发给接收方邮件服务器及用户使用用户代理从接收方邮件服务器上读取邮件

  电子邮件系统

  一个电子邮件系统应具有三个主要组成部分:用户代理,邮件服务器,邮件发送协议(如SMTP)与邮件读取协议(如pop)

  发送和接收电子邮件的几个重要步骤:

   (1)发件人调用pc中的用户代理撰写和编辑要发送的邮件

   (2)发件人的用户代理把邮件用SMTP协议发给发送方邮件服务器

   (3)SMTP服务器把邮件临时存放在邮件缓存队列中,等待发送

   (4)发送方邮件服务器的SMTP客户与接收方邮件服务器的SMTP服务器简历TCP连接,然后就把邮件缓存队列中的邮件一次发送出去

   (5)运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人读取

   (6)收件人在打算收信时,就运行PC机中的用户代理,使用POP3(或IMAP)协议读取发送给自己的邮件,请注意,POP3服务器和POP3客户之间通信是由POP3客户发起的

  简单邮件传送协议STMP

    STMP所规定的就是在两个相互通信的SMTP进程之间应如何交换信息。

    由于STMP使用客户服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户。而负责接收邮件的SMTP进程就是SMTP服务器

    通信的三个阶段:

      (1)连接建立:连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的,SMTP不使用中间的邮件服务器

      (2)邮件传送

      (3)连接释放:邮件发送完毕后,SMTP应释放TCP连接

  邮件读取协议POP和IMAP

    POP邮局协议是一个非常简单,但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3

    POP也使用客户服务器的工作方式。在接收邮件的用户PC机中必须运行POP客户程序,而在用户所连接的ISP的邮件服务器中则运行POP服务器程序

    POP协议支持离线邮件处理,当邮件发送到服务器后,电子邮件客户端会调用邮件客户端程序,下载所有未阅读的电子邮件(这种离线访问模式是一种存储转发服务)当邮件从邮件服务器发送到个人计算机上,同时邮件服务器会删除该邮件(但是目前很多POP3服务器都支持“下载邮件,服务器并不删除邮件”,也就是在POP3中改进了POP协议)

    另一个读取邮件的协议是IMAP(InternetMessage Access Protocol),它比POP协议复杂很多。
    IMAP 也是按客户服务器方式工作,现在较新的是版本 4,即 IMAP4。
    用户在自己的 PC 机上就可以操纵邮件服务器的邮箱,就像在本地操纵一样。IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件

    注意,不要将邮件读取协议 POP 或 IMAP 与邮件传送协议 SMTP 弄混。发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用 SMTP 协议。而 POP 协议或 IMAP 协议则是用户从目的邮件服务器上读取邮件所使用的协议

  6.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别0和3。当从队列中删除一个元素,再加入两 个元素后,rear和front的值分别为()

  循环队列 约定:front指向队首元素,rear指向队尾元素的下一个位置

       入队操作只改变front:front=(front+1)%size;

       出队操作只改变rear:rear=(rear+1)%size;

简答

  7.java数据库并发中怎么理解两个方法数据库操作在一个事务里面,事务和数据库连接池有什么关系,JTA事务和普通事务的区别

   前两个暂时找不到,可能这就是网易吧

   事务概述:事务表示一个由一系列数据库操作组成的不可分割的逻辑单位,其中的操作要么全做要么全不做。

   事务的特性(ACID)

   1.原子性:同一个事务的操作要么全部成功执行,要么全部撤销

   2.隔离性:事务的所有操作不会被其它事务干扰

   3.一致性:在操作过程中不会破坏数据的完整性

   4.时效性:事务的结果必须持久保存于介质上

  JTA(Java Transaction API)提供了跨数据库连接(或其他JTA资源)的事务管理能力。JTA事务管理则由JTA容器实现,J2ee框架中事务管理器与应用程序,资源管理器,以及应用服务器之间的事务通讯。 
  JTA的构成
a、高层应用事务界定接口,供事务客户界定事务边界的
b、X/Open XA协议(资源之间的一种标准化的接口)的标准Java映射,它可以使事务性的资源管理器参与由外部事务管理器控制的事务中
c、高层事务管理器接口,允许应用程序服务器为其管理的应用程序界定事务的边界

 区别:

JTA提供了跨数据库连接(或其他JTA资源)的事务管理能力。这一点是与JDBC Transaction最大的差异。
JDBC事务由Connnection管理,也就是说,事务管理实际上是在JDBC
Connection中实现。事务周期限于Connection的生命周期。同样,对于基于JDBC的ibatis事务管理机制而言,事务管理在SqlMapClient所依托的JDBC
Connection中实现,事务周期限于SqlMapClient 的生命周期。

JTA事务管理则由 JTA容器实现,JTA容器对当前加入事务的众多Connection进行调度,实现其事务性要求。JTA的事务周期可横跨多个JDBC Connection生命周期。

原文地址:https://www.cnblogs.com/ashin1997/p/11296734.html

时间: 2024-11-04 20:07:59

秋招--线上笔试记录的相关文章

2017年腾讯 秋招软件开发笔试编程题回忆版

2017年腾讯秋招软件开发笔试编程题回忆版 (所有题目大致描述如下,并非完整的题目回忆,但意思大致一样) 1.又一个魔法城市,城市里面有n个魔法城堡,序号为0,1,2...n-1:魔法城堡之间都有路径相连:魔法城堡两两之间的到达的距离不同,因此所需时间也可能不会相同.如魔法城堡0到魔法城堡2需要耗时4小时:现,小明想从魔法城堡0到魔法城堡1,他想知道需要花费多少时间:为了快速到达,有一魔法扫把,魔法扫把使用次数有限,使用一次,可以将某一段间的时间减半:求小明从魔法城堡0到魔法城堡1花费的最小时间

记Booking.com iOS开发岗位线上笔试

今晚参加了Booking的iOS职位线上笔试,结束后方能简单归纳一下. 关于测试内容: Booking采用了HackerRank作为测试平台,测试总时长为75分钟,总计4道题. 测试之前我很紧张,因为根据之前参加微软的Online Test经验来看,应该会有一些复杂的算法题.但是事实上Booking测试的题目,前三题均没有涉及高深的算法,都是一些基础的Objective-C和iOS开发的知识,这反而带了更大的困惑,想的太多反而浪费了大量时间. 测试邀请邮件 最后的结果是完成了3/4,因为时间没了

微软线上笔试-2015-4-3(1,2题) Magic Box && Professor Q's Software

写在前面: http://blog.csdn.net/michael_kong_nju/article/details/44872519 关于4.3号的微软线上挑战赛,感觉自己还是刷题刷少了,表现在几个方面:1. 编程经验不足.2. 算法的使用不灵活.所以下面还是要加强OJ的训练, 把Leetcode上的题多做做.后面又把4道题仔细的编写调试了一下,希望和我情况类似的同学也能加紧代码的训练. 1. 第一题的原题是: The circus clown Sunny has a magic box.

触宝线上笔试2018

题目:有多个case,每个case中有一个案例库,求给定字符串是否是案例库中的子串,若是输出个数. 输入:第一行,输出案例库中字符串的个数N,下面N行数为每一个字符串:给定字符串的个数为M,下面M行为给定字符串 例子: 3 //case1案例库 aaa aaa baa 2 //给定字符串 aa ba 1 //case2 案例库 a 1 //给定字符串 a 输出 3 //aa是案例库1中三个字符串的子串,个数为3 1 //ba是案例库1中第三个字符串的子串,故个数为1 1 //a是案例库2中的字串

产品线上问题记录一:启动页仅记录时间未检查升级,导致不能弹出自动更新弹窗

记软件测试线上问题一: 启动页仅记录时间未检查升级,导致不能弹出自动更新弹窗 上线日期: V1.2.0 2016年12月20日 V1.3.1 2017年2月23日 问题经过描述: 最新版本集成了一个文件,所以领导要运营数据,然后发现不弹自动升级弹窗,只能手动更新,查看版本使用用户的时候发现近50%用户在使用老版本V1.2.0,并未升级,数据如下: 1.0版本数量168,1.1.0版本数量6562,1.1.1版本数量9286,1.2.0版本数量19679,1.3.0版本数量2829,1.3.1版本

[找工作] 2019秋招|从春招到秋招,Java岗经验总结(收获AT)

转自(有更多) https://blog.csdn.net/zj15527620802/article/month/2018/10 前言 找工作是一件辛酸而又难忘的历程.经历过焦虑.等待.希望,我们最终都能去到属于自己理想的地方. 从春招到秋招,我总计面试了数十家公司.春招面试了腾讯.去哪儿.360.小米.携程.华为.今日头条.美团.菜鸟网络等9家公司.除了今日头条止步三面.菜鸟物流备胎至七月底才回绝,其他公司均通过了面试.最后在美团和腾讯中纠结了一段时间后,选择了腾讯去实习.秋招腾讯转正的还算

秋招(2014.9起)

2014年9月初的时候,很多名企就开始进行校招了,作为大四应届毕业生,我也加入了名企Offer争夺赛中~(- ̄▽ ̄)-. 2014年3月初的时候(当时还是逃课去的呢<( ̄︶ ̄)>),我就去了一家软件公司实习,做的是需求实施工程师,其实也就是系统的售后服务和维护.在那里做了两三个月就辞职了,因为那里的氛围很闷,做的所谓技术也就是按照操作手册机器化地操作(可能刚进来实习也只能这样吧...).后来我听朋友提起一家刚起步的创业型电商公司,那里有活跃的氛围.有年轻的小伙伴一起做项目,于是我毫不犹豫就去应

美团点评2017秋招笔试编程题

美团点评2017秋招笔试编程题 1, 大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步.求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法. 题解: 写出前面的几个, 1 -> 1;   2 -> 2 ;  3 -> 4;   4 -> 8; 5 -> 16; 6 -> 32; 可以得到是 二的 n-1 次幂. #include <cstdio> int

记录一次linux线上服务器被黑事件

1.原因:本来在家正常休息了,我们放在上海托管机房的线上服务器突然蹦了远程不了,服务启动不了,然后让上海机房重启了一次,还是直接挂了,一直到我远程上才行. 2.现象:远程服务器发现出现这类信息 Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!Hi, please view: http