林纲明整形医生
南京理工大学·2022届

亚太星通2021届校园招聘

招聘对象:2021应届毕业生 工作地点:深圳 招聘详情点击图片进行浏览 😎网申地址:http://campus.51job.com/apsatcom/
分享
3
校招情报局
肖肖肖

厦门银行2021届校园招聘

招聘对象:2021应届毕业生 网申时间:具体城市时间不同,详情查看官网 招聘详情点击图片进行浏览 😎网申地址:http://xmccb.zhaopin.com/
分享
3
校招情报局
胡伟云
物流、供应链,全球化_招聘

我正在收简历,快来投递吧 职位描述 1、负责参与菜鸟各个业务相关产品的系统架构及研发; 2、协助产品梳理业务需求,产出业务系统架构设计方案; 3、独立完成项目的系统分析、设计,并主导完成详细设计和编码的任务,确保项目的进度和质量; 4、主动关注并学习新技术,并能够在实践中应用,帮助建设团队技术氛围。 任职要求: 1、三年及以上Java开发经验,编程基础扎实,熟悉io、多线程、集合等基础框架; 2、熟悉Web开发,熟练使用Spring等主流的开发框架; 3、熟悉Linux下的常用命令,熟练使用MySQL、Oracle等常用关系型数据库,熟悉主流的key-value存储系统; 4、熟悉常用设计模式,有大型分布式、高并发、高负载、高可用性系统设计开发经验; 5、善于思考,能独立分析和解决问题,责任心强,具备良好的团队合作精神和抗压能力,要有创业的激情和坚定的信念 职位关键词:JavaSQLSpringMySQLOracleLinux 工作地点:杭州
分享
评论
我这里招人
坎诺
吉林大学·2022届

笔记课堂之横空出世

笔者简介吾名浩浩,生于上世纪八十年代,居于北方小镇城中村。家境窘,无背景。 年幼时,不曾入幼儿园,隔代长辈所带养。及至小学,幸已落户,就近而入学,懵懂而读书。 小升初暑假,偶得《小学数学千题解》一书,仔细阅读,认真做题,凡疑惑不解之处皆幸有亲友之同事指点赐教。及至初中,遂以优异入考成绩进重点班级就读。 初中三年,以优秀同学为师而学,向辛勤授课老师而问,成绩突飞,排名猛进。三年后中考,成绩差强人意,入重点高中而未进重点班级。 及至高中,努力一年,择文而学,再进重点班级。恰恰遇人不淑,新班主任难为师表,班级之上云波诡谲,课堂之下暗流涌动。 两年后高考,语文考试扑街,其余发挥正常。且班中多数同学皆为语文成绩所累,此为班主任所授之科目也。高考成绩既出,填报志愿之事大于天也,奈何择业选校之自由被长辈亲戚所夺。 幸得高一班主任同事“择二一一高校”之建言,故约法三章:理工类院校不读,师范类院校不择,非二一一院校不去。于是,被放于赣而学会计。大学四年,郁郁寡欢。不喜身边之同学而去读万卷书,不爱所在之城市而去行万里路。 四年之间多沉浸于图书馆与自习室,以高考学习之态度,用高中学习之强度,内研读专业课程和相关书籍,外自修证券知识及期货内容。节日假期多游走于四周省市与山川:东游沪杭以观世间繁华,南至台海以求交流学习,西进两湖巴蜀以与旧识同乐,北上京津河北以谋职业发展。 因好学,阅读多,绩点高,得图书馆与学校所设奖学金,皆散于行迹所至之处,此乃大学之唯一乐事也。吾尚未毕业,已立学习CFA之志。及至毕业,打道回府。 家中亲戚长辈多言银行工作乃“钱多活儿少离家近”之美差也,遂不得己愿而入一城商行工作。 工作半年,凭六月之流水以申双币种信用卡,抽周末之闲暇以办旅行出国护照,皆为CFA考试准备。 卡证已备,报名遂成,于是开始学之。工作一年半,恰为癸巳年冬,雪后入京赶考CFA一级。甲午年春节将至,获考试通过之消息,大喜,遂定以近一年半之时间备战CFA二级。 工作两年,萌生跳槽之意。 吾身为区区普通柜员,办业务,学制度,背试题,亦负大量款、卡、险等任务指标。 此等指标乃逐月成几何增长,完成则小奖几块数十,未及则严罚成百上千。领导此举亦有“喝兵血”之嫌,遂与之有隙。 加之工作场所年久失修,会天大雨,屋中小雨,更有楼上住户之下水泄露。场所之内虫鼠横行,坐席之上设备残损。辞职临别之际,个人社保受人力拖延办理之难,几走劳动仲裁之路。 后跳至一外资行工作,岗位相同,内容增加。 虽距家甚远,路途常堵,但场所干净,所挣稍多。恰又遇人不淑,副手骄横无知,主管懒散软怂,领导缺德冷血。薪酬承诺变样,劳动福利缩水。考虑良久,遂裸辞,但未敢告知家中。于是,变上班工作日为省图自习日。 无论工作如何变动,CFA学习从未暂停。 乙未年春节后,边学习边谋职。同年夏,进京赶考CFA二级。 两月后,入职一文化国企财资部。两周后,获考试通过之消息,大喜,遂定以不到一年之时间备战CFA三级。 工作劳形较少,学习时间充裕。丙申年夏,入京赶考CFA三级。奈何此次准备时间不长,看书学习不深,平日做题不多,临考题型不熟。 未及成绩公布之时,内心深感凉凉之意。 成绩既出,果不其然,遂定以两年之时间重新备战CFA三级。 为放松散心,赴台自由行,兼怀五年前之交流时光。 独自游于台北,不禁黯然神伤。五年之间物是人非,毕业之后青春难留,美好时光岂非只在昨日? 感慨之余,冥冥所念:“穷且益坚,不坠青云之志;老当益壮,宁移白首之心”。 心中所往,岂能放弃! 年假结束即归,继续准备考试。月底,母亲工伤,骨骼重挫。母亲伤病,父亲劳累,家中有事,理应顾家。于是,母亲术后出院而居吾处,吾不再加班出差。丁酉年春节后,领导屡屡发难,质问母亲病情,对吾渐生不爽。此时前后,吾为重拾信心,强化学识,已开始FRM一级之学习。 至夏,赴津考试。 一月后,获考试通过之消息,遂定以一年之时间备战FRM二级。未及夏末,萌生辞意。此单位,高层领导皆为官派,碌碌无为,日常公文皆出吾手;中层干部元老自居,得过且过,扛枪挡箭皆由吾去;基层员工递条入职,才疏慵懒,重要工作皆为吾做。 单位薪酬改革拖延达一年半之长,以入职时间短为由而降吾薪。吾何不去之!遂与父母商量,果断辞职,自愿失业。 宅于家中上可照顾伤母,下可复习考试。父已退休,亦无大碍。吾虽无收入,但积蓄尚足,且偶能投资割韭。母亲卧床半年之久,拄拐十月之长,期间吃药无数,复查若干。及至戊戌年四月,母亲撤拐而行,搬回原处。遂全力备战两场考试。至夏,赴津考FRM二级。 一月后,赴沪考CFA三级。 考试毕,遂北上畅游苏锡两地。 游至无锡,获FRM二级考试未过之消息,不禁扼腕而叹。只得游罢返家之后又重新备之,以求戊戌年冬考过。 归家近两月,获CFA三级考试通过之消息,大喜。虽考试通过,但耗时良久,牺牲甚多,期间饱尝生活之辛酸,尽感世态之炎凉。 及至今日,奔向廿九。人生固然苦短,理应有所作为,遂决定开创此贴。 整理学习笔记,以求帮助奋战于此的莘莘学子;晒出读书心得,以求分享书山学海的个人观点。 若从大学伊始算起,至CFA考试全过,恰好十年矣。 “十年磨一剑,霜刃未曾试。今日把示君,谁有不平事。”
分享
3
先马后看
雷莎
广东工业大学·2022届

星环科技,了解一下

“星什么科技?” “什么环科技?” “星环什么哦?” 姓名:炫酷极客 星环信息科技(上海)有限公司 性别:男男女女(?) 出生年月:2013年6月 特长:名字特长 ...... Q:先做个自我介绍吧 极客基因! 《三体》中的星环集团聚集了人类最优秀的一批科学家,建造成太阳系的第一艘超光速飞船——星环号。星环科技的创始人兼CTO孙元浩表示,星环科技借此命名,希望汇聚最优秀的研发团队,立志打造成国内外领先的大数据基础技术厂商。 星环科技是全球领先的大数据与人工智能基础平台供应商,专注于提供企业级容器云计算、大数据和人工智能核心平台的研发和服务,打造大数据和人工智能技术的“中国心”。公司以上海为总部,以北京、广州为区域总部,在南京、郑州、成都设有支持中心,同时在深圳、天津、武汉等地设有办事机构,并在加拿大和美国设有子公司。 极客疆土! 极客核心技术 基于Hadoop构建企业级数据仓库和数据集市 高性能、可扩展的分布式数据库 融合低延时的时间驱动机制和复杂批处理编程模型的流处理引擎 具备统计、机器学习和深度学习完备算法和实践模型的人工智能平台 基于Docker和Kubernetes的多租户PaaS平台 应用行业 金融、电信、交通、物流、政府、 公共安全、媒体、电力、能源、零售、 制造业、医疗、教育等。 极客文化! 愿景 成为世界领先的基础软件供应商,为所有的大数据和人工智能应用提供基础平台 使命 把中国人自主研发的领先创新技术赋能全世界各行各业,促进社会可持续发展,通过科技让人类的生活更美好 核心价值观 追求卓越、至诚至信、团结合作、开放创新
分享
2
先马后看
a'li
腾讯科技(深圳)有限公司·秘书

秘书岗位群面经验

第一次正式的求职群面经历是在面试暑期实习秘书岗位时,也许是缺乏经验,也许是过于紧张,面试表现并不好,但还是想要给自己做个总结,希望能够在日后吸取教训,慢慢改进。 面试时首先是简单的自我介绍,需要复述上一个人的发言。结束后是15分钟的无领导小组讨论,到时间后小组商量找个人来作总结,总结完了然后是其他队友补充,之后就结束了,总面试时长大概30分钟。下面做一下自我总结。 1、心理素质:目的性过强,期望太高,过于紧张。因为是第一次正式的群面,而且是腾讯,所以准备过程过于紧张,再加上家里停电停网,准备过程不太顺利,增加了我的焦虑感。 2、面试状态:光线没有调试好,导致我这边的镜头是灰暗的,看起来气色不是很好,感觉化的妆都看不出来了,好像我群面过程小动作有点多,有时头发掉下来会不自觉撩到耳边,然后记笔记时好像脸有点怼镜头了,仪态上不是很好。 3、面试表现:虽然我选择了timer,但一开始团队并没有分好工,比如,谁负责记录时间,谁负责会议记录,谁负责总结,以及讨论时间的控制,比如前几分钟讨论,后几分钟梳理、补充、完善。总之,表现平平。 4、讨论过程:没有贡献自己的建设性观点,只是在别人提出观点后稍作补充,而且表达不够清晰;然后,没有针对题目背景来搭建思考的框架,局限于题目的建议,然后一直围绕着那几个点来讨论。其次,大家的观点太分散,并没有说真正在某个观点上达成一致,另一个人又提出了新的观点。总之,没有讨论出一份好的方案,我感觉挺失败的。最后,有一点可以学习的,就是队友在发表自己的观点前会复述总结一下前面发言的同学的观点,做一个阶段性总结,我觉得这点挺好的。
分享
7
原味笔面经
波多野猫叔
郑州大学·2022届

[其它有声] 夜惊魂系列惊险故事

下载链接:http://pan.baidu.com/s/1zeqRq
分享
7
先马后看
小果师姐
广州大学·2022届

【转载】TCP

TCP TCP 特点 TCP 是面向连接的运输层协议,一个应用进程在向另一个进程发送数据之前,两个进程必须先建立 TCP 连接,发送某些预备报文段,以建立确保数据传输的参数。作为 TCP 连接建立的一部分,连接的双方都将初始化与 TCP 连接相关的许多状态变量。这种连接不是电路交换网络中的端到端电路这种物理连接,而是一种逻辑连接,TCP 报文要先传送到 IP 层加上 IP 首部后,再传到数据链路层,加上链路层的首部和尾部后才离开主机发送到物理层。 TCP 连接提供全双工服务,允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都有各自的发送缓存和接收缓存,用来临时存放双向通信的数据。在发送时,应用程序把数据传送给 TCP 缓存后就可以做自己的事,而 TCP 在合适的时候会把数据发送出去。在接收时,TCP 把收到的数据放入缓存,上层应用程序会在合适的时候读取缓存中的数据。 TCP 连接是点对点的,每一条 TCP 连接只能有两个端点,即只能是单个发送方和单个接收方之间的连接。 TCP 提供可靠的交付服务,通过 TCP 连接传送的数据无差错、不丢失、不重复,并且按序到达。 TCP 是面向字节流的,流是指流入到进程或从进程中流出的字节序列。面向字节流的含义是:虽然应用程序和 TCP 的交互是一次一个数据块,但是 TCP 把应用程序交下来的数据仅仅看成一连串无结构的字节流。TCP 不保证接收方应用程序收到的数据块和发送方应用程序发出的数据块具有对应大小的关系,但是接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。接收方应用程序必须有能力识别收到的字节流,并把它还原成有意义的应用层数据。 TCP 报文结构 TCP 传送的数据单元是报文段,一个 TCP 报文段分为首部和数据两部分。首部的前 20 个字节是固定的,后面有 4n 字节是根据需要而增加的选项,因此 TCP 首部的最小长度是 20 字节。 TCP 首部的重要字段如下: 源端口和目的端口:各占 2 字节,分别写入源端口号和目的端口号,TCP 的分用功能是通过端口实现的,分用就是指运输层从 IP 层收到发送给各应用进程的数据后,把数据交付给正确的套接字的工作。 序号:占 4 字节。TCP 是面向字节流的,在一个 TCP 连接中传送的字节流中的每一个字节都按顺序编号,首部中的序号字段值指的是本报文段所发送的数据的第一个字节的序号。序号使用 mod2^32^ 计算,每增加到 2^31^-1 后下一个序号就又回到 0。 确认号:占 4 字节,是期望收到对方下一个报文段的第一个数据字节的序号。如果确认号为 N,代表到序号 N-1 为止的所有数据已经正确收到。序号有 32 位长,一般情况下可以保证当序号重复使用时,旧序号的数据早已通过网络到达终点了。 数据偏移:占 4 字节,实际是TCP 报文段的首部长度,指出了 TCP 报文段的数据起始处到 TCP 报文段的起始处的距离。由于首部中有长度不确定的选项字段,因此数据偏移字段是必要的。 标志字段:占 6 位。URG 是紧急标志,URG=1 时告诉系统此报文段中有紧急数据,应尽快传送,而不按照原来的排队顺序传送,和紧急指针配合使用,紧急指针指出了本报文段中紧急数据的字节数和位置。ACK 是确认标志,ACK=1 时表示成功接收了报文段。SYN 是同步标志,在建立连接时用来同步序号,当 SYN=1 而 ACK=0 时,表示一个连接请求报文段,响应时 SYN 和 ACK 都为 1,因此 SYN=1 表示一个连接请求或连接响应报文。FIN 是终止标志,用来释放一个连接,当 FIN=1 时表示报文段发送方的数据已发送完毕,并要求释放连接。PSH 是推送标志,PSH=1 时接收方就不等待整个缓存填满了再向上交付而是尽快交付数据。RST 是复位标志,当 RST=1 时表示 TCP 连接出现了严重错误,必须释放连接再重新建立连接。 接收窗口:占 2 字节,指的是发送本报文段一方的接收窗口,告诉对方从本报文首部的确认号算起允许对方发送的数据量。窗口值是用来限制发送方的发送窗口的,因为接收方的数据缓存空间是有限的。 检验和:占 2 字节,检验范围包括首部和数据两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。 可靠传输协议 ARQ 自动重传请求 ARQ 包括了停止等待协议、回退 N 步协议和选择重传协议,后两种结合了窗口机制,属于连续 ARQ 协议。 停止等待协议 停止等待就是每发送完一个分组就停止发送,等待对方的确认,在收到确认之后再发送下一个分组。停止等待协议包括了三种情况: 1. 无差错情况 A 发送分组 M1,发送完后就暂停并等待 B 的确认。B 收到了 M1 之后就向 A 发送确认,当 A 收到确认之后就再发送下一个分组 M2。 2. 出现差错的情况 当 B 收到 M1 时检测出了差错就丢弃了 M1,其他什么也不做,也可能是 M1 在传输过程中丢失了,B 什么都不知道。在这两种情况下 B 都不会发送任何确认信息,解决方法是:A 只要超过一段时间没有收到确认就认为刚才发送的分组丢失了,因而重传前面发过的分组,这就叫超时重传。要实现超时重传,就要在每发送完一个分组时设置一个超时计时器,如果在超时计时器到期之间收到了对方的确认就进行撤销。 有三点需要注意:① A 在发送完一个分组后必须暂时保留已发送分组的副本在超时重传时使用,只有在收到确认后才清除副本。② 分组和确认分组都必须进行编号,这样才能明确是哪一个发送出去的分组进行了确认。③ 超时计时器设置的时间应当比数据在分组传输的平均往返时间稍长一些,如果设置过短会产生不必要的重传,如果设置过长会降低通信效率。 3. 确认丢失和确认迟到 B 发送的对 M1 的确认丢失了,A 在设定的超时重传时间内没有收到确认,并不值得是自己发送的问题还是 B 的问题,因此 A 就会超时重传。假设 B 又收到了重传分组 M1,此时 B 会采取两个行动:① 丢弃这个分组,不向上层交付。② 重新向 A 发送确认。 还有另一种情况就是 B 发送的确认并没有丢失但是迟到了,A 会受到重复的确认,此时 A 会收下并丢弃。通常 A 最终总是可以收到对所有发出的分组的确认,如果 A 不断重传分组但总是收不到确认,就说明通信线路质量太差,不能进行通信。 停止等待协议的优点是简单,但缺点是信道利用率太低。为了提高传输效率,发送方可以不使用停止等待协议,而是采用流水线传输。流水线传输就是发送方可连续发送多个分组,不必每发送完一个分组就停下来等待对方的确认。这样可以使信道上一直有数据不间断地传送,流水线传输中可能会遇到差错,解决差错的两种基本方法是回退 N 步和选择重传。 回退 N 步协议 在回退 N 步即 GBN 协议中,允许发送方发送多个分组而不需要等待确认。在 GBN 中发送方看到的序号可以分为四个范围,已经发送且被确认的的序号、已经发送还未确认的序号、允许发送但还未发送的序号和不允许发送的序号。其中已经发送但还未确认的序号和允许发送但还未发送的序号可以被看作一个长度为 N 的窗口,随着协议的运行该窗口在序号空间向前滑动,因此 GBN 协议也被称为滑动窗口协议。 GBN 发送方必须响应三种类型的事件: 上层的调用 当上层调用发送方法时,发送方首先检查发送窗口是否已满,即是否有 N 个已发送但未确认的分组。如果窗口未满,则产生一个分组并将其发送并更新相应变量,如果窗口已满,发送方指需将数据返回给上层,隐式说明该窗口已满。实际实现中,发送方更可能缓存而不是立即发送这些数据,或者使用同步机制允许上层在仅当窗口不满时才调用发送方法。 收到一个 ACK 在 GBN 协议中,对序号为 n 的分组确认采用累积确认的方式,对按序到达的最后一个分组发送确认,表明接收方已经正确接收到序号为 n 的以前且包括 n 在内的所有分组。例如发送了序号为 1~5 的五个分组,除了第三个全部收到了,那么确认序号就是 2。 超时事件 回退 N 步的名字来源于出现丢失和时延过长时发送方的行为,就像在停止等待协议中那样,如果超时,发送方会重传所有已经发送但还未确认过的分组。如果收到一个 ACK,但仍有已发送但未确认的分组,则计时器也会重新启动。 在 GBN 协议中,接收方丢弃所有失序分组,即使是正确接收的也要丢弃,这样做的理由是接收方必须按序将数据交付给上层。这种做法的优点是接收缓存简单,即接收方不需要缓存任何失序分组。不过丢弃一个正确失序分组的缺点是随后对该分组的重传也许也会错误,而导致更多的重传。 选择重传协议 GBN 协议潜在地允许用多个分组填充流水线,因此避免了停止等待协议中的信道利用问题,但是 GBN 本身也存在性能问题,单个分组的差错就能引起 GBN 重传大量分组,许多分组根本没有重传的必要。随着信道差错率的增加,流水线可能会被这些不必要重传的分组所充斥。 选择重传即 SR 协议,通过让发送方仅重传哪些它怀疑在接收方出错的分组而避免了不必要的重传。这种个别的、按需重传要求接收方逐个地确认正确接收的分组,再次用窗口长度 N 来限制流水线中未完成和未被确认的分组数。与 GBN 不同的是,发送方已经收到了窗口中对某些分组的 ACK。 SR 接收方将确认一个正确接收的分组而不管其是否按需,失序的分组将被缓存直到所有丢失分组都被收到为止,这时才可以将一批分组按序交付给上层。 TCP 可靠原理 TCP 的可靠传输包含很多机制,例如使用检验和来检测一个传输分组中的比特错误、使用定时器来用于超时重传一个分组、使用序号来检测丢失的分组和冗余副本、使用确认来告诉发送方确认的分组信息、使用否定确认来告诉发送方某个分组未被正确接收。 TCP 的发送方仅需维持已发送过但未被确认的字节的最小序号和下一个要发送的字节的序号,从这种角度看 TCP 更像一个 GBN 协议。但是 TCP 和 GBN 有一些显著的区别,许多 TCP 实现会将正确接收但失序的报文段缓存起来。当分组 n 丢失时,GBN 会重传 n 之后的所有分组,但是 TCP 至多只会重传分组 n。对 TCP 提出的一种修改意见是选择确认,它允许 TCP 接收方有选择地确认失序报文段,而不是累积地确认最后一个正确接收的有序报文段,从这个角度看 TCP 又像 SR 协议。因此 TCP 的差错恢复机制是一种 GBN 和 SR 的结合体。 除此之外,TCP 还使用流量控制和拥塞控制来保证可靠性。 滑动窗口 滑动窗口以字节为单位。发送端有一个发送窗口,窗口中的序号是允许发送的序号,窗口的后沿是已经发送并且确认的序号,窗口的前沿是不允许发送的序号。窗口的后沿可能不动(代表没有收到新的确认),也有可能前移(代表收到了新的确认),但是不会后移(不可能撤销已经确认的数据)。窗口的前沿一般是向前的,也有可能不动(表示没有收到新的请求或对方的接收窗口变小),也有可能收缩,但 TCP 强烈不建议这么做,因为发送端在收到通知前可能已经发送了很多数据,此时如果收缩窗口可能会产生错误。 滑动窗口的状态需要3个指针p1,p2 和 p3。p1 之前的序号表示已经发送并且确认的序号,p1p2 的序号表示已经发送但还没有确认的序号,p2p3 表示允许发送的序号,也叫可用窗口,p1~p3 表示发送窗口,p3 之后的序号表示不可发送的序号。 发送缓存用来暂时存放发送应用程序传给发送方 TCP 准备发送的数据和已经发送但还没确认的数据。接收缓存用来暂时存放按序到达的但尚未被应用程序读取的数据以及未按序到达的数据。 注意三点:① 发送窗口根据接收窗口设置,但并不总是一样大,还要根据网络的拥塞情况调整。② 对于不按序到达的数据,TCP 通常存放在接收窗口,等到字节流缺少的字节收到后再按序交付上层应用程序。③ 接收方必须有累积确认功能,可以减小传输开销,可以在合适的时候发送确认,也可以在自己有数据需要发送时捎带确认。但是接收方不能过分推迟发送确认,不能超过0.5秒。 流量控制 如果某个应用程序读取数据的速度较慢,而发送方发送得太多、太快,发送的数据就会很容易使连接的接收缓存溢出,TCP 为它的应用程序提供了流量控制以消除发送方使接收方缓存溢出的可能性。流量控制是一个速度匹配服务,即发送方的发送速率与接收方的应用程序读取速率相匹配。 TCP 通过让发送方维护一个接收窗口的变量来提供流量控制。通俗地说,接收窗口用于给发送方一个指示,该接收方还有多少可用的缓存空间,因此方法方的发送窗口不能超过接收方给出的接收窗口的数值。因为 TCP 是全双工通信,在连接两端的发送方都各自维护一个接收窗口。 当接收窗口 rwnd 减小到 0 时,就不再允许发送方发送数据了。但是可能存在一种情况,当发生了零窗口报文段不久后,发送方的接收缓存又有了一些存储空间,因此又发生了新的报文说明自己的接收窗口大小,但是这个报文可能会在传输过程中丢失。接收方就会一直等待发送方的非零窗口通知,而发送方也一直在等待接收方发送数组,形成一种死锁的状态。为了解决这个问题,TCP 为每一个连接设有一个持续计时器,只要 TCP 连接的一方收到对方的零窗口通知就启动该计时器,到期后发送一个零窗口探测报文,如果仍为 0 就重新设置计时器的时间,如果对方给出了新的窗口值就可以解决可能出现的死锁问题。 还有一种问题叫做糊涂窗口综合症,当接收方处理接收缓冲区数据很慢时,就会使应用进程间传送的有效数据很小, 极端情况下有效数据可能只有 1 字节但传输开销却有 40 字节(20字节的 IP 头以及 20 字节的 TCP 头) ,导致网络效率极低。为了解决这个问题,可以让接收方等待一段时间,使得接收缓存有足够的空间容纳一个最长报文段或者等到接收缓存已有一半的空闲空间。发送方也不要发送太小的报文,而是把数据积累成足够大的报文或达到接收方缓存空间的一半时才发送。 拥塞控制 网络中对资源需求超过了资源可用量的情况就叫做拥塞。当吞吐量明显小于理想的吞吐量时就出现了轻度拥塞,当吞吐量随着负载的增加反而下降时,网络就进入了拥塞状态。当吞吐量降为 0 时,网络已无法正常工作并陷入死锁状态。拥塞控制就是尽量减少注入网络的数据,减轻网络中的路由器和链路的负担。拥塞控制是一个全局性的问题,它涉及网络中的所有路由器和主机,而流量控制只是一个端到端的问题,是两个端点之间通信量的控制。 根据网络层是否为运输层拥塞控制提供显式帮助可以将拥塞控制的方法区分为两种:端到端拥塞控制和网络辅助的拥塞控制。TCP 使用端到端的拥塞控制,因为 IP 层不会向端系统提供显式的网络拥塞反馈。TCP 所采取的方法是让每一个发送方根据所感知到的网络拥塞程度来限制其向连接发送数据的速率。如果一个 TCP 发送方感知到它到目的地之间的路径上没什么拥塞则会增加发送速率,如果发送方感知到拥塞就会降低其发送速率。限制发送速率是通过拥塞窗口来实现的,它对发送方能向网络中发送流量的速率进行了限制。判断拥塞是通过超时或者连续接收到 3 个冗余 ACK 实现的。 TCP 的拥塞控制算法主要包括了慢启动、拥塞避免和快恢复。慢启动和拥塞避免是 TCP 的强制部分,差异在于对收到的 ACK 做出反应时 cwnd 增加的方式,慢启动比拥塞避免要更快地增加 cwnd 的长度。快恢复是推荐部分,对 TCP 发送方不是必需的。 1. 慢启动 在慢启动状态,拥塞窗口 cwnd 的值以一个 MSS 最大报文段开始并且每当传输的报文段首次被确认就增加一个 MSS。因此每经过一个 RTT 往返时间,拥塞窗口就会翻倍,发送速率也会翻倍。因此 TCP 的发送速率起始很慢,但是在慢启动阶段以指数增长。 结束慢启动有三种情况:① 如果存在一个超时指示的丢包事件,即发生了拥塞,TCP 发送方就会将 cwnd 设置为 1 并重新开始慢启动过程。它还将慢启动阈值设置为 cwnd/2,即检测到拥塞时将慢启动阈值设置为拥塞窗口的一半。② 当拥塞窗口达到慢启动阈值时就会结束慢启动而进入拥塞避免模式。③ 最后一种结束慢启动的方式是,如果检测到三个冗余的 ACK,TCP 就会执行快重传并进入快恢复状态。 2. 拥塞避免 一旦进入拥塞避免状态,cwnd 的值大约是上次遇到拥塞时的值的一半,即距离拥塞可能并不遥远。因此 TCP 无法再每经过一个 RTT 就将 cwnd 的值翻倍,而是采用一种较为保守的方法,每个 RTT 后只将 cwnd 的值增加一个 MSS。这能够以几种方式完成,一种通用的方法是发送方无论何时收到一个新的确认,都将 cwnd 增加一个 MSS。 当出现超时时,TCP 的拥塞避免和慢启动一样,cwnd 的值将被设置为 1,并且将慢启动阈值设置为 cwnd 的一半。 3. 快恢复 有时候个报文段丢失,而网络中并没有出现拥塞,如果使用慢启动算法就会降低传输效率。这时应该使用快重传来让发送方尽早知道出现了个别分组的丢失,快重传要求接收端不要等待自己发送数据时再捎带确认,而是要立即发送确认。即使收到了乱序的报文段后也要立即发出对已收到报文段的重复确认。当发送方连续收到三个冗余 ACK 后就知道出现了报文段丢失的情况,会立即重传并进入快恢复状态。 在快恢复中,会调整慢启动阈值为 cwnd 的一半,并进入拥塞避免状态。 TCP 连接和释放机制 三次握手 TCP 是全双工通信,任何一方都可以发起建立连接的请求,假设 A 是客户端,B 是服务器。 初始 A 和 B 均处于 CLOSED 状态,B 会创建传输进程控制块 TCB 并进入 LISTEND 状态,监听端口是否收到了 TCP 请求以便及时响应。 当 A 要发生数据时就向B发送一个连接请求报文,TCP 规定连接请求报文的 SYN=1,ACK=0,SYN不可以携带数据,但要消耗一个序号,假设此时 A 发送的序号 seq 为 x。发送完之后 A 就进入了 SYN-SENT 同步已发送状态。 当 B 收到 A 的连接请求报文后,如果同意建立连接就会发送给 A 一个确认连接请求报文,其中 SYN=1,ACK=1,ack=x+1,seq=y,ack 的值为 A 发送的序号加 1,ACK 可以携带数据,如果不携带的话则不消耗序号。发送完之后,B进入 SYN-RCVD 同步已接收状态。 当 A 收到 B 的确认连接请求报文后,还要对该确认再进行一次确认,报文的 ACK=1,ack=y+1,seq=x+1,发送后 A 进入 ESTABLISHED 状态,当 B 接收到该报文后也进入 ESTABLISHED 状态,客户端会稍早于服务器端建立连接。 三次握手的原因主要有两个目的,信息对等和防止超时。 从信息对等的角度看,双方只有确定 4 类信息才能建立连接,即 A 和 B 分别确认自己和对方的发送和接收能力正常。在第二次握手后,从 B 的角度看还不能确定自己的发送能力和对方的接收能力,只有在第三次握手后才能确认。 三次握手也是防止失效连接突然到达导致脏连接,网络报文的生存时间往往会超过 TCP 请求超时时间,A 的某个超时连接请求可能会在双方释放连接之后到达 B,B 会误以为是 A 创建了新的连接请求,然后发送确认报文创建连接。因为 A 机器的状态不是 SYN_SENT,所以直接丢弃了 B 的确认数据。如果是两次握手,连接已经建立了,服务器资源被白白浪费。如果是三次握手,B 由于长时间没有收到确认信息,最终超时导致创建连接失败,因此不会出现脏连接。 四次挥手 当 A 已经没有要发送的数据时就会释放连接,会向 B 发送一个终止连接报文,其中 FIN=1,seq=u,u 的值为之前 A 发送的最后一个序号+1。发送完之后进入 FIN-WAIT-1 状态。 B 收到该报文后,发送给 A 一个确认报文,ACK=1,ack=u+1,seq=v,v 的值为 B 之前发送的最后一个序号+1。此时 A 进入了FIN-WAIT-2 状态,B 进入了 CLOSE-WAIT 状态,但连接并未完全释放,B 会通知高层的应用层结束 A 到 B 方向的连接,此时 TCP 处于半关闭状态。 当 B 发送完数据后准备释放连接时,就向 A 发送连接终止报文,FIN=1,同时还要重发ACK=1,ack=u+1,seq=w,seq 不是 v 的原因是在半关闭状态 B 可能又发送了一些数据,之后 B 进入 LAST-ACK 状态。 A 收到连接终止报文后还要再进行一次确认,确认报文中 ACK=1,ack=w+1,seq=u+1。发送完之后进入 TIME-WAIT 状态,等待 2MSL之后进入 CLOSED 状态,B 收到该确认后进入 CLOSED 状态,服务器端会稍早于客户端释放连接。 四次挥手的原因 第一点原因是为了保证被动关闭方可以进入 CLOSED 状态。MSL 是最大报文段寿命,等待 2MSL 可以保证 A 发送的最后一个确认报文能被 B 接收,如果该报文丢失,B 没有收到就会超时重传之前的 FIN+ACK 报文,而如果 A 在发送确认报文后就立即释放连接就无法收到 B 超时重传的报文,因而也不会再一次发送确认报文段,B 就无法正常进入 CLOSED 状态。 第二点原因是 2MSL 时间之后,本连接中的所有报文就都会从网络中消失,可以防止已失效连接的请求数据包与正常连接的请求数据包混淆而发生异常。 除此之外,TCP 还设有一个保活计时器,用于解决客户端主机故障的问题,服务器每收到一次客户的数据就重新设置保活计时器,时间为 2 小时。如果 2 小时内没有收到就间隔 75 秒发送一次探测报文,连续 10 次都没有响应后就关闭连接。
分享
1
先马后看
海豹幼崽
成都信息工程大学·2022届

华为实习时间线

记录一下找华为实习的时间线吧 南研所cbg流程IT 5.6 笔试 5.20 一面 5.29主管面(本来也是5.20但是因为我不清楚,有事就调时间了) 6.17 保密协议(我也不知道为啥现在才收到) 6.19中午出现了offer date 6.19下午接到offer call 说过段时间发意向书 华为实习战线太长了,之前面完还天天看有没有od,等到现在都麻木了 感谢华为给了个结果
分享
5
先马后看
新晴
哈尔滨工程大学·2022届

学弟学妹们加油~ +提前批你需要知道的一些事情

因为去年秋招所以有一点经验心得了,主要是后端和算法啦~ 预热 1、提前批是什么? 根据去年经验,提前批就是正式批,正式批就是补招。比较厉害的同学基本在提前批就基本定去向范围了。 2、提前批影响正式批次吗? 根据去年经验,大部分公司提前批会有面试记录,多多少少会有影响,另外一部分公司正式批没HC,一部分确实不影响但更难拿sp,少部分老实公司可能真的不影响也说不定。 但如果非得需要我给一个统一回答,那就是不影响正式批次。 3、那我该参加提前批面试吗? 如果你准备好了,而且报名人数=O(hc),那早去晚去一样本质一样,但是前期一点小小的决策失误,需要后期大量的精力去弥补。 面之前先参加一些公司涨涨姿势是最吼的。 4、我怕投简历被筛了,可以后面实习完再投吗? 简历被筛基本是不匹配,那么你为什么没有匹配呢,简历被筛的主要原因看岗位热门内卷程度,我感觉主要看几个指标 hc数量/个人水平排行/match程度 hc数量+个人水平排行是根本原因,决定了简历筛选的难度基础,你只要在排 O(hc数量)中基本就差不多能过,另外看个人经历和岗位需求的匹配程度,比如做视频的去搞语音大概率被筛掉,小概率看公司招聘部门的渣男程度,对备胎的要求高低。 个人感觉 算法 同档次下学校=顶会>项目=竞赛。后端 学校=项目=竞赛,前提都是相关的。 (ps 简历筛过了再考虑这些问题是比较合适的) 5、那我上面东西都没有怎么办? 去参加实习吧~走easy模式,前提之前过了实习面试+自己算转正比例+自己大概的位置,正好9月份转正美滋滋。 6、如果提前批没参加会不会少很多机会? 提前批整整两个月的时间,你不准备,不提升,那你正式批不还是现在的样子吗?把时间集中起来,好好学习吧~一种比较好的方法是一边面试一边学习。 面试准备: 1、1份match的自我介绍,可以用模板,最好事先根据工作内容和公司等稍微修改一下,展示自己的用心,简历做的和岗位匹配一点。 2、基本的理解。C++啊内存啊数据库等看你面的公司。 3、基本的代码能力。突击用 剑指offer,你连那上面的都不会就抓紧时间去学习吧。 4、DLC:对投递工作的了解。 面试准备这东西,切记脚踏实地,必要时可以突击,但突击不是常态手段,先简单作一下规划一下自己需要学习的内容,还没有掌握的内容,排个时间,至少要学过啊。比如你面效率工程你至少得会C++一大把加设计模式吧,你面个策略你得会点机器学习吧,你面个纯开发至少得会写代码吧。对自己需要掌握的东西要好好看,其他的了解即可,也别一点也不会,面试提到了你听都没听过就很尴尬,附加内容基本也不会深问。 像我虽然自学了但面试基本没问到过计算机网络,因为工作相关确实真的用不到,但是面后端不会不问的,学有余力的情况下一定至少要了解。 假设简历筛选概率p0,面试成功概率p1p2p3。那么最终拿到的offer数量 趋近->投递数*p0*p1*p2*p3,但实际上所有人稳定发挥的情况下,假如你match+技术在所有人的名次是前top p%,p< p0*p1*p2*p3时,那么所有的offer都是你的,反之,所有的offer都和你没关系。不过幸运的是老天也是会眷顾笨小孩的,各个公司情况不一样,面试情况也有波动,所以水平较差有时也能波动上去,拿到offer,然而可惜的是,不好好准备的话,我们一定有offer,但你没有把握是哪个offer,只能看老天帮你选咯,所以加油学习吧,早日摆脱分母哦~ 面试通过: 1、offer互相argue,一起拿高价,钱多多~ 后端的SP比算法的好拿,可不少~ 2、多和HR沟通,保持理智思考。 弹性工作制:早不弹晚弹 我个人都是7点下班的:(HR9点过来打电话如是说),真实情况一般说9点下班都是9点30走,一般说9点上班那就是半小时前食堂停饭,自己估计一下通勤时间就差不多了 我们这里试用期工资不打折的:试用期6个月 咱们这里是核心部门:加班部门 咱们这里技术怎么怎么样:(人力和研发是两个部门,我这样说你懂吧) 我再去帮你申请一下:我先应付一下 我们这里技术认可度很高:跳槽率高 我们这里每年都有XX晋升的:那和大多数人没啥关系 大概率:小概率 海量:3个 我们这里对应届生不作XXX限制:(内心)合同上一个不少~ 如果问要多少钱,搜一搜,然后报个高点的 你的期望如果报高了:(内心)我能不能压一压? 你的期望报正好:(内心)谁透漏的工资?回去查一查,现在我能不能压一压? 你的期望如果报低了:(内心)我能不能再压一压? 3、公司文化匹配程度,个人觉得比较重要,毕竟现在是2020-2050年,是咱们最有活力建设国家的时候,在中华民族的伟大复兴中,每个人都是历史的见证者,但祝福大家都能成为参与者,甚至是引领者,个人认为公司文化的匹配程度是非常重要的,他是实现个人价值与工作结合的不能绕过的部分,一个不合适的文化氛围 那得活的多难受啊 有其他问题可以留言问我,一般没时间看,由于共建绿色围墙,所以部分信息不能透漏,见谅呀。发这个贴就是督促你们把握时间,好好准备。省的天天打游戏 最后祝大家都能收获满意的工作,实现自身的价值~
分享
2
先马后看
是满哥啊
西南交通大学·2022届

希望周末还是可以去参加北外调剂

RT 许愿许愿!!!!
分享
评论
超好运许愿池
№落在指尖的羽毛^
上海财经大学·2022届

许愿

今晚回去就收到欠款! 🙏🏻
分享
1
超好运许愿池
小研子
杭州电子科技大学·2022届

有偿电子书籍论文提供

资源丰富,涉及各专业。诚信交易。有意者可以留言
分享
1
先马后看
有_青年→本少_
伯明翰大学·2022届

Java工程师学习指南初级篇(项目篇)

Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。 所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇),笔者也打算趁此机会,回忆一下自己的Java学习历程。 今天我们要讲的是,小白同学如何入门Java。 先声明一点,文章内容不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。 本文所述的方法不一定适合所有人,如有错误敬请谅解。 01 Java Web项目指南 jav在上一篇文章中,我们讲到了入门Java的几个步骤,先搭建好环境,然后熟悉基本语法,接着熟悉Java的一些核心技术,并且在代码中进行实现。 如果你已经完成了这部分内容的学习,应该会感觉自己对Java已经有一定了解了,可以轻松地写出一些Java代码,比如实现多线程输出数字,再如操作IO流等等。 当然,这些代码通常只是一些demo,我们在实际的项目中可能并不会这么简单地使用这些技术,我们可能会同时使用集合类,多线程,以及操作数据库的API。 所以,在今天的初级篇中,我们就来谈谈怎么做项目吧。 Java Web项目 对于大部分Java新手来说,最适合他们入门的项目就是Java Web了。因为Java天然适合做Web应用,并且生态完善,更有很多开源的工具和框架去支撑这些应用,比如Spring,Hibernate,SpringMVC等等。 那么,如何开始着手做一个Java Web项目呢。个人认为最好的方式就是看视频了。因为,看书的话,很多内容比较过时,并且一般不会提供源代码。也有一些大佬喜欢推荐开源的项目(在GitHub上面的项目),但是对于小白来说,如果没有很完整的文档去指导他们,那也是毫无意义的。 曾几何时,Java Web的项目还在使用JSP + Servlet进行开发,后来出现了Struts2,再后来,出现了我们现在也一直在用的SpringMVC,说实话,不论使用哪种开发框架,你都需要先花一些时间去学习相关的技术,否则你会发现,即使是看视频,你也不知道里面在讲什么。 要想做好一个JavaWeb项目,你不仅需要一个好的项目课程,还需要足够的知识储备,下面就让我们来理一理这些内容把。 知识储备 Java基础部分的内容咱们上次说过了,这里就不再重复啦~下面我们分别来说说其他几方面的知识储备把 02 前端知识 推荐资源:在w3cschool学习html,css和js,支持在线测试代码。 既然是做Web,就难免要涉及到前端技术,不过,现在前后端分离已经是一种趋势,所以,如果你对前端不感兴趣,也没必要花太多时间去学习。 对于大部分同学来说,你最好要了解html的基本标签和格式,自己能够写一些简单页面,CSS的话,也可以稍微接触一些。相对于前面两个服务于样式的技术,我们倒是更应该去学习一下JavaScript,了解它的一些基本语法,以及ajax的使用,因为在前后端交互时,ajax是非常重要的。 所以,做一个Java Web项目,你不需要花太多时间在写前端页面上,如果有源代码可以直接使用,当然,对于一些需要修改的前端页面,你得怎么去做修改它,因为有时候你需要使用JSP,JSP既包括前端代码也包括Java代码,如果你完全看不懂前端代码的话,那就很尴尬了。 03 Java Web常用技术 JavaWeb的技术栈其实比较庞大,所以我们不要求面面俱到,只是希望你能够熟悉一下项目中可能用到的技术。下面列举一些常见的技术,大家最好要了解一下。 1 JSP和Servlet 推荐资源:《JavaWeb入门到精通》,慕课网、极客学院等网站上的JavaWeb基础课程 这是Java Web开发最原始的形态,现在很少直接使用了,但是后来的各种框架其实也是建立在servlet之上来做的。你们需要了解这两个技术分别是用***什么的,最好能写一些demo来实践。 对于JSP,有时候你可能还要学习jstl等标签语言,因为这些标签可以让你更方便地往JSP中插入Java代码。 2 Spring和SpringMVC 推荐资源:《Spring实战》,慕课网、极客学院等网站上的SpringMVC基础课程。 事实上,除了上述资源之外,你也可以直接到官网上查看快速开始文档。 Struts2早已被时代抛弃,Spring则是当今的霸主,你需要了解Spring如何使用,以及SpringMVC如何使用,并且学会在项目中使用它。 由于SpringBoot最近很火,并且搭建方式比SpringMVC更简单,你也可以先学习SpringBoot,以便更快速地搭建起你的第一个Java Web项目。 3 MySQL 推荐资源:《Sql必知必会》,Runoob上的MySQL基础教程,慕课网、极客学院等网站上的视频课程 一个JavaWeb应用一定要有数据啊,所以我们需要用到数据库,其实搭一个mysql数据库是非常简单的,但是对于初学者来说最麻烦的就是写sql了,所以,先学会建表,熟悉sql,对你以后做项目也是大有裨益的。 4 Hibernate和Mybatis 推荐资源:Runoob上的Hibernate和Mybatis基础教程,慕课网、极客学院等网站上的视频课程 当你学会了使用sql去查询数据,可能还不足以让你在项目中很方便地处理数据,因为我们还需要一个步骤,就是把数据库的数据转化成Java里的对象。orm框架就是为了解决这一问题而出现的,它可以让一张表和Java类一一对应,让数据查询变得非常方便。Hibernate和Mybatis都是orm框架,只不过现在mybatis越来越火了。 所以,你需要了解这一技术,因为它会广泛地运用到大部分Java Web项目中。 5 Maven 推荐资源:《maven实战》,易百教程里的maven教程,慕课网、极客学院等网站上的视频课程 刚才咱们已经说过了Spring,orm框架,以及MySQL等方面的技术了。实际上,一个简单的Java Web项目也只需要这些东西了。 但是,有一个问题,就是:一个项目里用到这么多技术,所需要的jar包也会很多,我们如何管理这些jar包呢。如果直接导入所需jar包,那当jar包更新或者需要替换时,每次都要手动操作,非常麻烦。另外,当jar包很多时,项目打包后的war格式文件也会很大,不利于传输。 为了解决上述问题,maven应运而生了。maven通过pom.xml文件来指定所需的jar包,并且自带了很多构建相关的功能,比如编译,打包,运行单元测试等等,因为它本身就是一个构建工具。 当然,新手可能还难以理解这些概念,你必须要知道的是,大部分Java Web项目需要用maven来管理,你需要学会maven的基本用法,最基本的用法就是:学会修改pom.xml文件。 6 Tomcat 推荐资源:慕课网、极客学院等网站上的视频课程。 对于小白来说,Tomcat相关的技术是非常复杂的,毕竟它是一个应用服务器啊,事实上这个时候,你只需要学会如何安装Tomcat即可。毕竟,它在项目中的作用就是提供一个运行环境而已。 正常来说,你只要下载解压Tomcat的压缩包即可。由于现在的IDE都支持集成Tomcat,所以一般情况下你都可以在IDE中配置好你的Tomcat路径,然后设置好你的项目路径,IDE会自动把你的工程代码部署到Tomcat服务器上。 如果你使用想跳过IDE直接部署工程到Tomcat上,也可以直接编译工程并且打包得到war格式的文件(这个步骤可以使用maven来完成),然后拷贝war文件到Tomcat下的特定目录即可。 上述两种部署方式的详细步骤请到搜索引擎寻找答案。 7 Git和GitHub 推荐资源:廖雪峰的Git教程,GitHub官网,慕课网、极客学院等网站上的视频课程。 既然要做项目,为什么不把它发布在GitHub上。当你熟悉了Git指令之后,你可以很方便地发布你项目中的每一次更新,并且同步到GitHub上,这样既可以让你更好地管理项目版本,又可以让你GitHub更加活跃,为你未来的面试加分。 所以,赶紧学好Git指令,然后开启你的项目之旅吧。 04 其他常用组件 除了上面几种必备的技术之外,有时候我们在项目中还会用到其他东西,在这里我们把它们叫做组件。这里只做简单的介绍,至于具体怎么使用,在网上都可以很容易地找到相关文章。 1 日志系统 当项目代码比较多的时候,容易发生错误,日志可以很好地记录代码运行时的错误,常用的日志系统有log4j,logging等等,另外你还需要了解一下slf4j。 2 单元测试 日志系统可以记录代码问题,单元测试则是为了避免代码出错,常用的单元测试组件主要是JUnit,建议你找个文档看一看,然后下载下来玩一下。 3 JSON JSON逐渐成为前后端数据交互的标准格式,为了在项目中使用JSON的API,你也需要导入它的jar包,一般我们都会使用阿里提供的fastjson,赶快下载来玩一玩吧。 当然,常用的Java Web组件还有很多,比如HTTPClient,再比如一些加密工具,一些压缩工具等等,这里就不再一一列举了。 05 推荐项目课程 现在网上的项目课程那么多,哪一款更适合你呢? 其实我看过的视频课程也不是很多,早先在慕课网和极客学院看过一些项目课程,觉得比较一般,对新手来说不太友好。 我的一些同学看过一些培训机构的课程,专业讲师录的项目课程可能会稍微好一点。我比较推荐的分别是Java中级项目课和Java高级项目课。 主要有几点原因吧: 1 叶神讲课,比较了解同学们的情况,而且技术功底摆在那里没的说。 2 所做的项目比较接地气,用的技术栈也比较新,比较全。 3 我自己全程跟着牛客网的项目课做了一遍,感觉确实有收获,而且每个章节的安排也比较合理。 4 配套有PPT,项目代码以及部分安装包,可以让你省去很多繁琐的环节。 当然,你也可以自己去找一些你感兴趣的项目课程,后续我也会收集更多的视频课程来分享给大家。 PS:如果找不到我说的这些资源,也可以微信私我。老规矩,公众号后台回复“少侠”可以勾搭作者。 06 总结 今天的内容就到这里了,与其说是初级篇,反而更像是“项目篇”呢。因为学完基础内容之后,做项目是最好的复习和实践方式了。所以这篇文章围绕着做项目来展开,也就不足为奇了。 今天我们主要讲的是,做好一个JavaWeb项目,需要哪些知识储备,需要了解哪些技术,并且我也推荐一些比较精品的视频课程。 后面我还会写一篇文章,专门讲一讲怎么做项目,会更加详细,更加侧重怎么去做,敬请期待吧。 总结以下今天说的几个要点吧: 1 Java基础知识储备 2 前端知识储备 3 了解和使用JavaWeb常用技术 4 JavaWeb常用组件介绍 5 视频课程推荐 俗话说的好,磨刀不误砍柴工,相信你看了本文之后,可以更好地做好知识储备,然后开始Java Web的项目实践,希望你能够顺利地完成你的第一个项目。 — END —
分享
10
先马后看
恬淡春风
青岛大学·2022届

许愿

一边工作一边看书,希望可以通过注会考试,今年报考三门,希望过过过
分享
评论
超好运许愿池

超级简历 APP

从简历直达offer,快人一步拿高薪

最新内推
35 名用户可以帮你内推
16 名用户可以帮你内推
13 名用户可以帮你内推
10 名用户可以帮你内推
9 名用户可以帮你内推
推荐投递
科锐福克斯
高途课堂
国商信息
国商信息
国商信息
国商信息
国商信息
国商信息