1.转一篇我自动化学院老乡的黑马黑马秋招30w+的心得
2.容器服务的深入应用及原理剖析(4)带你了解Docker Compose
3.å¦ä½å¦å¥½javaè¯è¨å?
转一篇我自动化学院老乡的秋招30w+的心得
文章并非炫耀南信大研究生的薪资水平,这并非普遍现象;也不是源码鼓动大家投身高强度互联网开发工作;而是告诉大家,只要在南信大“双一流”平台上努力,教程研究生阶段的程序学习并不会比某邮、某电、黑马黑马某的源码问卷java源码研究生差太多。就像南工大一样,教程我的程序同事和师弟在阿里等公司工作,南工大计软院也不差。黑马黑马问题的源码关键在于个人努力,而非学校。教程
送给在校的程序南信大研究生们:别沾沾自喜于自己就读于双一流高校,千万别把读研当作玩乐,黑马黑马否则研一玩、源码研二混、教程研三开始自责,抱怨南信大这一平台、抱怨南信大远不如某某邮、某某电、某某。
首先:这种薪资待遇在南信大研究生里是否普遍?答案当然是否定。很多人喜欢拿某邮、某电、某的研究生高薪与南信大nuister低薪做比较,得出南信大工科研究生工资低、找工作困难的结论。然而,这样的808源码情况极为罕见。在某些知乎、贴吧微博黑子的言论里,却将南信大工科研究生工资低、找不到工作作为事实。
截止到年月日,据我所知,南信大电信院、计软院、自动化学院研究生大部分偏重理论,实习机会不多,导致这些学院的研究生毕业后从事的非开发类工作较多。
某些知乎、贴吧微博黑子开始拿南信大非开发类的薪资去对比某某邮、某某电、某某开发类的薪资。如果你在南信大学开发类的技术工作,大部分人都是从k、k起步,即便你不是南信大的研究生,其他一般高校的毕业生也差不多。
其次:南信大目前与某某邮、某某电、某某的差距在哪里?
————————————————————大厂的认同,大厂不仅仅只有阿里、腾讯、华为。我们电信院除非是源码依赖码农才有可能进这些公司,那我们电信院考电信院干嘛,何不考计软院呢?我读研的时候,连海康威视这样的企业都不来南信大校招,我们nuister缺的就是一个‘’头衔。现在呢?我毕业的时候,海康、大华都来了,我的电信院师弟们陆续拿到了“AMD”、“大疆”、“小米”等的offer。现在电信院需要进步的是如何大批量培养优秀人才,大批量送这些企业,时间会证明:南信大为什么叫做南京信息工程大学。
实话实说,截止到现在,喷子和黑子眼中的大厂“腾讯”、“华为”并不太认同南信大研究生的质量。准确地说,并不太了解南信大研究生、本科生的质量。因此,在届本科生新增加了“华为班”、“腾讯班”,包实习的那种。说白了,也就是南信大要让更多的nuister让那些大厂明白:其实南信大优秀的本科生、研究生们也不差!见缝插针+源码!
贴一张年本科理科的投档线统计,黑子们不会以为学校不给你解封、学校不给你点外卖、学校不给你啥啥,把学习和生活中的失败发泄到贴吧、知乎、微博上就能动摇那些对南信大充满向往的学弟学妹们吗吧?还快跑?快跑?快跑?
最后:物以类聚、人以群分。为什么我身边的师弟师妹大都是年薪w+,甚至几个w+,到你们某些人眼里南信大研究生就是底薪低能了?
希望那些对南信大充满向往的准研究生们也千万别被这w+的年薪冲昏头脑、这不代表普遍。尤其是电信院、计软院、自动化学院其实这几年报考人数还是蛮多的、尤其是计软院。报考请结合自身能力量力而行。
至于那些正在读研的准研究生们:开发是高薪的为数不多的出路,开发也不仅仅是我这里说的大数据开发、我干的前端开发、电信院也有fpga开发、算法岗位开发、图像处理开发等等。开发大概率意味着如果你想要高薪,至少研一的时候就要开始准备学技术,研一研二在保证毕业的源码+erp前提下,要反复刷技术、刷面试题,有机会的还要去实习实习。这样拿w+的概率才大,这也意味着你读研的时候别人还在吃喝玩乐你在学技术、别人缩在被窝里睡懒觉、你在赶去实习公司的地铁上。这也意味着可能你工作后大概率会,大概率会加班。也并不是所有人都向往大厂的生活,至少我本人不羡慕。
下面是他刚刚考上自动化学院(那个时候还叫信控院),他问我什么最赚钱,我跟老乡说:码农赚钱,算法类大数据类的码农更赚钱。
部分微信聊天记录:
我老乡的贴吧原文:
楼主秋招算是顺利结束,目前到手的offer里面,最高总包年薪是 w(不算杭州 3w + 3w 人才补贴),公积金全额 * %。趁国庆没什么事,写一点面经给计算机的或者想转计算机的学弟学妹们,仅当参考。
先下个我个人的结论,以我秋招的所见所感,南信大的学生真不差,南信大这个牌子也能达到大厂及格线,只是学校的培养体系所培养出来的孩子横向的项目实践能力普遍太弱了。大家多花点时间,最好找个实习,有很大机会进互联网中厂甚至大厂。
说一下我个人的情况,本人是非科班硕,计算机几乎零基础(本科学过一点 C 语言),花了大约一年时间自学 Java 和 大数据。针对Java、MySQL、Redis、设计模式、计算机网络、操作系统等内容,我看了 CSNotes 和 JavaGuide 这两大著名八股文项目,百度或者 GitHub 就能搜到,JVM 和 JUC 部分我看了黑马满一航的视频(比较适合新手)以及《深入理解Java虚拟机》和《Java并发编程的艺术》这两本书,看完应付面试足够。大数据(Hadoop、Flink、Spark、Kafka)看了尚硅谷全套视频。尤其是Kafka,我研究过源码,然后面试官都挺喜欢问这个的,这算是我的加分项,所以我建议有时间可以看看Spring、Hadoop等框架源码。
其实非科班的我最头疼的就是算法题,刚开始一头雾水,复杂度都不知道是什么,然后我到LeetCode上面刷“剑指offer”,几乎全程背诵 Krahets 的题解(真的是一点思路都没有)。慢慢的背多了,自己也能摸索出一些套路,后面连着背+理解刷了剑指offer和Leetcode有道,道应付大厂的普通题目绰绰有余了。
另外就是实习,我在秋招前找了份实习工作,没学到什么技术,但是我觉得实习至关重要,比大部分比赛都重要,几乎每个面试官都喜欢深挖实习的项目,如果他们看不到项目就会一直问你基础,一道答不出来几乎凉凉,风险太大。
最后秋招前的突击阶段,我花了很大精力在牛客网上,牛客有很多真实面经(基本无答案),我就看面经的问题,顺着问题自己心里面默答,如果发现这题不会,我就去立刻百度。大多数面试都是这种八股文 + 项目 + 算法题!
转码过程挺艰辛的,但是终究有回报。希望学弟学妹们珍惜你的时间,好好努力。
容器服务的深入应用及原理剖析(4)带你了解Docker Compose
一、Docker Compose简介
1.什么是compose
Docker-compose 是一个定义和运行多个 Docker 应用的工具,你可以使用YMAL文件来配置你的服务,然后使用docker-compose 命令,创建和启动、编排所有你配置的服务。
2.compose可以在任何工作环境中使用,生产环境,开发环境,持续集成等等。
3.从logo上可以看出来, 它就是一个管理容器的工( zhang )具( yu ), 我们可以方便的使用它来管理我们的Docker容器, 可以极大程度的简化命令行的复杂操作。
二、Docker Compose 安装
版本:1..0-rc4
1.安装
看到版本信息,说明安装成功。
2.卸载
常见问题: 如果安装完成后,查看版本频繁报错,如下 Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg 可使用下面的解决方案 1、切换到/usr/local/bin,删除之前的下载/docker-compose 2、切换到/usr/local/bin执行下面的命令 wget github.com/docker/compo... 3、下载完毕后重命名为docker-compose mv docker-compose-Linux-x_ docker-compose 4、赋权限 5、查看版本成功
三、Compose 核心概念与常用命令
1.Compose 核心概念
模板文件
即 project 包含 service ,service 包含 container
2.Compose模板文件介绍
Compose模板文件格式
Docker Compose 使用 YAML 文件来定义多服务的应用。
Docker Compose 默认使用文件名 docker-compose.yml。当然,也可以使用 -f 参数指定具体文件
官方提供了一个 yaml Docker Compose 配置文件的标准例子 提示:可以用 .yml 或 .yaml 作为文件扩展名
version:指定 docker-compose.yml 文件的写法格式
replicas
指定运行容器的数量
update_config
mode
replicated 如果服务是replicated(默认),需要指定运行的容器数量
restart_policy 重启策略
配置容器的重新启动,代替restart
卷标设置与查看
挂载方式对比: 绝对路径:直接挂载到本地,比较直观,但需要管理本地的路径 卷标:简洁,但你不知道数据存在本地什么位置
网络定义
目的:实现网络隔离
docker network create --subnet=..0.0/ frontend
Docker Compose版本
3.Compose常用命令
常用命令汇总
1) docker-compose up
用于部署一个 Compose 应用。 默认情况下该命令会读取名为 docker-compose.yml 或 docker-compose.yaml 的文件。
当然用户也可以使用 -f 指定其他文件名。通常情况下,会使用 -d 参数令应用在后台启动。
2) docker-compose start
启动
3) docker-compose stop
停止 Compose 应用相关的所有容器,但不会删除它们。 被停止的应用可以很容易地通过 docker-compose restart 命令重新启动。
4) docker-compose rm
用于删除已停止的 Compose 应用
它会删除容器和网络,但是不会删除卷和镜像。
5) docker-compose restart
重启已停止的 Compose 应用。 如果用户在停止该应用后对其进行了变更,那么变更的内容不会反映在重启后的应用中
这时需要重新部署应用使变更生效。
6) docker-compose ps
用于列出 Compose 应用中的各个容器。 输出内容包括当前状态、容器运行的命令以及网络端口。
7) docker-compose down
停止并删除运行中的 Compose 应用。 它会删除容器和网络,但是不会删除卷和镜像
8) docker-compose logs web
9) docker-compose build
当你改变本地代码之后,先执行 docker-compose build 构建新的镜像,然后执行 docker-compose up -d 取代运行中的容器
四、Docker Compose 工作原理
1.Compose 的一次调用流程
1) 首先,用户执行 docker-compose up 命令调用命令行中的启动方法
2) 然后,如果当前宿主机已经存在与该应用对应的容器,docker-compose 则进行行为逻辑判断。如果用户指定可以重新启动已有服务,docker-compose 就会执行 service 模块的容器重启方法,否则就直接启动已有容器。这两种操作的区别在于前者会停止旧的容器,创建并启动新的容器,并把旧容器移除掉。
3) 最后,contaier 模块会调用 docker-py 客户端来执行向 docker daemon 发起创建容器的 POST 请求。
PS:如果本文对您有帮助,请关注我们的公众号:黑马 架构师还有B站号:博学谷(持续更新优质技术讲解视频) 欢迎和我们一起讨论学习哦 ^-^ ~
相关学习:
超 清 晰MyBatis源码剖析,学到就是赚到_哔哩哔哩_bilibili
架构师必备技能 | 微服务治理深入RPC原理,够全面、够深入、够接地气。_哔哩哔哩_bilibili
架构师都要会!详谈微服务架构体系,赶 紧 学 起 来_哔哩哔哩_bilibili
必看!Nacos配置中心发布与配置
å¦ä½å¦å¥½javaè¯è¨å?
建议ä¸ï¼æç³»ç»çå¦ä¹ æ¹æ¡ï¼ç³»ç»çå¦ä¹ æç¨ï¼å æJavaå¦äºä¸éä¹åææ¯çæ£çå ¥é¨ï¼ç¶åå°±æ¯ä¸æçç»ä¹ ï¼ä¸æçå·©åºï¼ä¸ºä¹åçå·¥ä½æä¸åå®çåºç¡ã建议äºï¼å¦ä¹ Javaä¸è¦å ç书å¦ï¼ä¸å®è¦å æä¸åçç¥è¯ç¹å¦å®ä¸éï¼å¹¶ä¸èªå·±å¤å¤å°å°ä¼å¨ææä½ï¼ç¶åå»çä¹¦æ¸©ä¹ ãè¿æä¸è¦ç²ç®ççè§é¢ï¼å¾å¤äººé½æ¯å çè§é¢ï¼ç¶åå¨å¿é没æä¸ä¸ªæä½çæ¦å¿µï¼è¿æ ·çå¦ä¹ æ¹æ³æåä¸å®ä¼æµªè´¹æ¶é´å°æ¾å¼ï¼æ以å¦ä¹ Javaä¹åä¸å®è¦ç¥éè¿äºä¸è¥¿ï¼è¿é½æ¯èµ°è¿æ¥ç人以åèµ°ç弯路ã
建议ä¸ï¼å¾å¤äººé½ä¼æä¸ä¸ªçé®ï¼å°±æ¯å¦ä¹ Javaè½çæï¼ä½æ¯ä¸ä¼åï¼æ以å¦ä¹ Javaä¸å®è¦ææ¡ä¸ä¸ªææççå¦ä¹ æ¹æ³ï¼ä¸ä¸ªéåèªå·±çå¦ä¹ æ¹æ³ï¼ä½ä¸ºä¸ä¸ªæ°äººï¼åä¸ä¸è¦èªå·±çæ¸ç´¢ï¼æ²¡æå¿ è¦ï¼å¯ä»¥è¯·æå«äººä¸å®è¦å»é®ã
建议åï¼ä¸å®è¦æä¸ä¸ªæç½äººå»æå¯¼ä½ ï¼Javaçä¸ä¸ç¨åº¦å¾å¼ºï¼%çé®é¢èªå·±å¾é¾è§£å³ï¼èä¸ä¼å¾æµªè´¹æ¶é´ï¼ä¸ä¸ªå°é®é¢å¯ä»¥å°æ°ä¸å¤©ï¼è¿æ ·èªä¿¡å¿ä¼åå°ä¸¥éçæå»ï¼å¦æ没æ人æ导ï¼å¯ä»¥å æ
å¦ä¹ Javaçå个é¶æ®µï¼
ä¸ï¼Javaseåºç¡
äºï¼ç½é¡µä¸å客html+css+js
ä¸ï¼JavaWebåæ°æ®åºï¼
åï¼JavaEEæ¡æ¶ï¼ä¼ä¸çº§å¼åï¼Struts2ãSpringæ¡æ¶ãHibernateæ¡æ¶ãMavenæ ¸å¿ææ¯ãMyBaitsæ¡æ¶ãé«æè¿é¶ï¼
å¦ææ¾ä¸å°å¦ä¹ èµæºï¼å¯ä»¥ç¹å»è¿éä¸è½½ã
å½ä½ å¦å®äºJavaï¼åºè¯¥å¦ä½å»æ¾å·¥ä½ï¼
ä¸.æéè¦çè¿æ¯èªèº«æè½ï¼è¿æ¯ç¡¬ä»¶æ åï¼æ é ï¼èªå·±è½åæä¹æ ·èªå·±å¿éææ¸ æ¥ï¼å¦æèªå·±é½è§å¾èªå·±ä¸ä¼çï¼æè§å¾è¿æ¯å¥½å¥½æåææ¯å§ã
äº.ç®åï¼åç®åéè¦æä¸å®çå¦é®ï¼ä¸ç¯è¦æä½ ææçä¼å¿è¯´æç½ï¼èä¸ç°å¨åç®åï¼åä¸ä¸å¯ä»¥åç太æ»æ¿ï¼ä¸å®è¦åçå¦ç±»ä¸äºï¼å 为ç®å太å¤ï¼æ¯å¦ä½ åï¼å欢å¦ä¹ ï¼æ§æ ¼éåï¼çç太æ®éï¼ä½ ä¼åå«äººä¹ä¼åï¼æ²¡ææ°æï¼èä¸å¨å项ç®ç»åçæ¶åæ´è¦æ³¨æã
ä¸.é¢è¯æå·§ï¼é¢è¯æ¯æéè¦çä¸é¨åï¼ä½ æ¯å¦è½åºèæååå³ä½ é¢è¯æä¹æ ·ï¼é¢è¯å®é½æ¯ä¸äºç»éªèéçï¼æä»¥ä½ åçä»é®é¢çæ¶åè¦æ³¨ææå·§ï¼æ¯å¦ï¼å½ä»é®éä½ ä¸ä¸ªå¼å¸¸çæ¶åçï¼ä½ ä¸ä¼ï¼ä½æ¯ä½ ä¸è¦è¯´ä¸ä¼ï¼ä½ å¯ä»¥è¯´ä¹åæéå°è¿ï¼ä½æ¯ç°å¨å¿äºï¼å¦ææéå°å¯ä»¥è§£å³ççãå½ç¶äºï¼å¦æä½ èªå·±å¾NBï¼ä¼å¾å¤ä¸è¥¿ï¼ä¿¡å¿å足ï¼ä½ èªç¶ä¼é¢è¯æåï¼ææçä¸ååå³äºä½ çæ¬é¢å¦ä½ã
å¸æå¯ä»¥å¸®å©å°å¤§å®¶ï¼å¯¹äºå¦ä¹ Javaè¡ä¸ä»»ä½é®é¢ï¼å¯ä»¥éæ¶ç§ä¿¡æï¼å¸æ大家å¦æææï¼æ©æ¥é«èª