golang无法执行二进制文件:Exec格式错误

my go env </ p>

  GOARCH =“ amd64” 
GOBIN = “”
GOEXE = “”
GOHOSTARCH = “AMD64”
GOHOSTOS = “LINUX”
GOOS = “LINUX”
GOPATH = “”
GORACE = “”
GOROOT = “在/ usr /本地/去”
GOTOOLDIR = “ / usr / local / go / pkg / tool / linux_amd64”
GO15VENDOREXPERIMENT =“”
CC =“ gcc”
GOGCCFLAGS =“-fPIC -m64 -pthread -fmessage-length = 0”
CXX =“ g ++”
CGO_ENABLED =“ 1”
</ code> </ pre>

我在Mac上编译并成功执行了二进制文件,然后将其复制到上面显示了go env的ubuntu机器上。 当我调用myprog二进制文件时,我得到</ p>

  bash:/ usr / local / go / bin / myprog:无法执行二进制文件:Exec格式错误
</ code> < / pre>
</ div>

展开原文

原文

my go env

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

I compiled and successfully executed the binary on my mac and then copied it to the ubuntu machine whose go env is show above. When I call myprog binary, I get

bash: /usr/local/go/bin/myprog: cannot execute binary file: Exec format error

doushang1778
doushang1778 您已经为Darwin编译了二进制文件。该二进制文件无法在Linux上运行。您需要编译Linux版本。
4 年多之前 回复

2个回答



自1.5版以来,交叉编译器变得非常容易。 </ p>

  env GOOS = linux GOARCH = amd64之类的东西可以构建-v github.com/constabulary/gb/cmd/gb

请参阅 http://dave.cheney.net / 2015/08/22 / cross-compilation-with-go-1-5 。</ p>
</ div>

展开原文

原文

Since go 1.5, cross compiler has gotten pretty easy. Something like

env GOOS=linux GOARCH=amd64 go build -v github.com/constabulary/gb/cmd/gb

Refer to http://dave.cheney.net/2015/08/22/cross-compilation-with-go-1-5.



我遇到了同样的问题。 我安装了go的64位版本,而不是32位版本。 安装32位版本后,它可以正常工作。 </ p>
</ div>

展开原文

原文

I had the same problem. I installed 64-bit version of go instead of 32-bit version. After installation of 32-bit version it works fine.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何在GoLang程序中运行二进制文件?

<div class="post-text" itemprop="text"> <p>I want to execute Binary Files inside GoLang Program.</p> <p>Here is my code:</p> <pre><code>package main import ( "fmt" "os/exec" ) func main() { output, _ := exec.Command("/home/user/Golang/bin/hello").Output() fmt.Println(output) } </code></pre> <p>But I get the output as: []</p> <p>Thanks in advance.</p> </div>

standard_init_linux.go:190:运行Go二进制文件时,exec用户进程导致“ exec格式错误”

<div class="post-text" itemprop="text"> <p>我正在尝试用我的 Go 二进制文件创建一个用作数据库迁移器的容器。但是,如果我运行二进制文件,虽然它能完美地工作,但是我很难把它放到容器中并在 docker-compose 堆栈中运行它。</p> <p>下面是我的Dockerfile:</p> <pre><code>FROM golang:1.11 AS build_base WORKDIR /app ENV GO111MODULE=on # We want to populate the module cache based on the go.{mod,sum} files. COPY go.mod . COPY go.sum . RUN go mod download FROM build_base AS binary_builder # Here we copy the rest of the source code COPY . . RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build #In this last stage, we start from a fresh Alpine image, to reduce the image size and not ship the Go compiler in our production artifacts. FROM alpine AS database-migrator # We add the certificates to be able to verify remote instances RUN apk add ca-certificates COPY --from=binary_builder /app /app ENTRYPOINT ["/app/binary-name"] </code></pre> <p>当我运行 docker-compose 堆栈时,MySQL 数据库得到了正确的设置,但是我在数据库迁移器容器的日志中收到了这个错误:</p> <blockquote> <p>data-migrator_1 | standard_init_linux.go:190: exec user process caused "exec format error"</p> </blockquote> </div>

golang exec.Command无法运行C二进制文件

<div class="post-text" itemprop="text"> <p>I executing a C executable using exec.Command and exec.Start(). My C executable is in the current directory and this is my code</p> <pre><code>cmd := exec.Command("./a.out") // stdout,err := cmd.StderrPipe() stderr,_ := cmd.StderrPipe() err := cmd.Start() if err != nil { log.Fatal(err) } log.Printf("Waiting for command to finish...") s,err := ioutil.ReadAll(stderr) log.Printf(string(s)) err = cmd.Wait() log.Printf("Command finished with error: %v", err) </code></pre> <p>When i run this code, this is the output i get </p> <pre><code>2014/12/10 07:49:39 Waiting for command to finish... 2014/12/10 07:49:39 Command finished with error: exit status 11 </code></pre> <p>My C hello world program is</p> <pre><code>#include &lt;stdio.h&gt; int main(){ printf("hello world"); } </code></pre> <p>The C code is compiled with gcc version 4.8.2 and executable is a.out.</p> <p>The C executable a.out is a simple hello world program, i am getting the correct output, but i can't understand why exec.Wait() is exiting with status code 11 and not with 0.</p> <p>The executable('a.out') is running normally when i run on a linux terminal without any faults or errors</p> </div>

Go / GoLang在MySQL中存储二进制数据

<div class="post-text" itemprop="text"> <p>I'm using the MySQL driver from <a href="http://github.com/go-sql-driver/mysql" rel="nofollow">http://github.com/go-sql-driver/mysql</a></p> <p>I need to store the binary representation of an IP address in MySQL in a BINARY(4) column.</p> <p>To do this, I've tried:</p> <pre><code> startSlice := net.ParseIP(rangeStart).To4() var startBytes [4]byte copy(startSlice[:], startBytes[0:4]) endSlice := net.ParseIP(rangeEnd).To4() var endBytes [4]byte copy(endSlice[:], endBytes[0:4]) r, e := db.Exec("UPDATE AIPRangesBlocks SET BinRangeStart = ?, BinRangeEnd = ? WHERE IPGRID = ?", startBytes, endBytes, id) fmt.Println("result of update:", r) if e != nil { fmt.Println(e) } </code></pre> <p>Note that I used the copy command to convert from a []byte slice to simply a [4]byte array, but I get this error:</p> <pre><code>sql: converting Exec argument #0's type: unsupported type [4]uint8, a array </code></pre> <p>If I do it directly as net.ParseIP("some_ip").To4(), I get this error:</p> <pre><code>sql: converting Exec argument #0's type: unsupported type net.IP, a slice </code></pre> <p>How do I send the binary data?</p> <p><strong>EDIT</strong></p> <p>OK, if I use a hexadecimal string, it will execute the query, but I'm not getting the right values on retrieval.</p> <p>I tried hex.EncodeToString() and "0x" + hex.EncodeToString() and neither are working properly.</p> <p>Here's an example:</p> <pre><code>66.182.64.0 becomes 42b64000 </code></pre> <p>If I store "42b64000" in my MySQL column, I get back:</p> <pre><code>52 50 98 54 </code></pre> <p>If I store "0x42b64000" in my MySQL column, I get back:</p> <pre><code>48 120 52 50 </code></pre> <p>How do I fix this?</p> </div>

从PHP的shell_exec()函数执行Golang二进制文件

<div class="post-text" itemprop="text"> <p>I have compiled a golang binary that takes 1 argument, generates a PDF file, and then uploads it to AWS S3. The binary works perfectly in the shell, however when trying to execute it using PHP's <code>shell_exec()</code>, <code>exec()</code>, <code>passthru()</code> and <code>service()</code> functions, it will not execute (no error messages or log entries). I have even tried calling a shell script (.sh) from PHP's shell_exec which executes the binary (also works fine in the shell), but to no avail. </p> <p>Permissions are fine and PHP's <code>shell_exec()</code> works for all other instances. </p> </div>

将带有库的可执行二进制文件嵌入到golang应用程序中并运行它

<div class="post-text" itemprop="text"> <p>I have a binary executable file with libraries and I need to embed them all to a golang app, and run the binary via <code>os/exec</code> as a new process from the app. The app runs on Linux with all necessary rights. </p> <p>How to launch the binary itself, with libraries and arguments, and create a new process? The best, without creating any temporary files.</p> </div>

如何在golang程序中运行二进制文件并通过发送一些输入并等待输出来保持与之交互?

<div class="post-text" itemprop="text"> <p>How can I run a binary file in my golang program and keep interacting with it by sending some input and waiting for the output? In what I did, I run it only once. And I want to keep this binary file running and interact with it, I don't want to run it multiple times.</p> <pre><code>package main import ( "os/exec" "bytes" "fmt" ) func main() { command := exec.Command("./program") var output bytes.Buffer command.Stdout = &amp;output command.Run() result := output.String() IV := result[:4] cipher := result[5:] cipher = cipher[:len(cipher)-1] fmt.Printf("%v", result) fmt.Printf("%v", IV) fmt.Printf("%v", cipher) } </code></pre> </div>

如何检查golang二进制文件是否使用--ldflags =“-s -w”进行编译

<div class="post-text" itemprop="text"> <p>i know <code>--ldflags="-s -w"</code> will make Go binary size smaller, but without comparing to the one without ldflags, how do we know whether Go binary compiled with or without <code>ldflags="-s -w"</code> ?</p> </div>

Golang:以二进制模式执行gobench

<div class="post-text" itemprop="text"> <p>I'm working in a script in which I want to make several calls to <a href="https://github.com/cmpxchg16/gobench" rel="nofollow">gobench</a>, I received the advice that I should read on the binary way, like that</p> <pre><code>package main import ( "log" "os/exec" ) func gobench(url string) { cmd := exec.Command("gobench", url) err := cmd.Run() if err != nil { log.Fatalf("Command finished with error: %v", err) } } var searchRoutes = []string{ "http:www.myurl.com/request1", "http:www.myurl.com/request2", "http:www.myurl.com/request3", "http:www.myurl.com/request4", } func main() { for i := 0; i &lt; len(searchRoutes); i++ { gobench(searchRoutes[i]) } } </code></pre> <p>But once I'm do it this I'm getting this error, Does anybody knows why?</p> <blockquote> <p>2014/06/03 12:02:44 Command finished with error: exec: "gobench": executable file not found in $PATH</p> </blockquote> <p>Are there any other way to do the exc without setting the gobench as value in the PATH?</p> <p>If I export my gobench dir to my PATH I'm receiving this</p> <blockquote> <p>2014/06/03 12:22:59 Command finished with error: exit status 2 exit status 1</p> </blockquote> </div>

检查Golang中的二进制存在[重复]

<div class="post-text" itemprop="text"> <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/12518876/how-to-check-if-a-file-exists-in-go" dir="ltr">How to check if a file exists in Go?</a> <span class="question-originals-answer-count"> 8 answers </span> </li> </ul> </div> <p>I'm trying to check to see if a shell binary exists on the machine via Go.</p> <p>I have tried some simpler shell based commands:</p> <pre><code> args := []string{"-x", "fly"} o, err := exec.Command("test", args...).Output() fmt.Println(err) fmt.Println(o) </code></pre> <p>But this has an exit of 1 no matter what and outputs nothing.</p> <p>I'm wondering if there is something in Go itself that would have this functionality as obviously I'd rather do the heavy lifting with go itself.</p> <p>Thanks!</p> </div>

如何从二进制文件在Docker上运行Go Server

<div class="post-text" itemprop="text"> <p>I have been trying to make a Dockerfile, that would let me build my go server as binary and then run it either from the scratch image or alpine. The server works fine locally, on macOS 10.13.5, and I made it work when it wasn't from binary on Docker. </p> <p>I keep getting this error:</p> <blockquote> <p>standard_init_linux.go:190: exec user process caused "exec format error"</p> </blockquote> <p>I have been googling around and found something about system architecture. I am not sure how to check if that is the error and/or how to fix it. </p> <p>Any hints for debugging or possible fix are much appreciated.</p> <p>My Dockerfile:</p> <pre><code>FROM golang:1.10.3 as builder WORKDIR /go/src/gitlab.com/main/server COPY . . RUN go get -d -v ./... RUN CGO_ENABLED=0 GOOS=linux go build -a -o main . FROM scratch ADD main / CMD ["/main"] </code></pre> <p>The output:</p> <pre><code>Building go Step 1/9 : FROM golang:1.10.3 as builder ---&gt; 4e611157870f Step 2/9 : WORKDIR /go/src/gitlab.com/main/server Removing intermediate container 20cd4d66008b ---&gt; 621d9fc02dde Step 3/9 : COPY . . ---&gt; cab639571baf Step 4/9 : RUN go get -d -v ./... ---&gt; Running in 7681f9adc7b2 Removing intermediate container 7681f9adc7b2 ---&gt; 767a4c9dfb94 Step 5/9 : RUN go build -a -installsuffix cgo -o main . ---&gt; Running in a6ec73121163 Removing intermediate container a6ec73121163 ---&gt; b9d7d1c0d2f9 Step 6/9 : FROM alpine:latest ---&gt; 11cd0b38bc3c Step 7/9 : WORKDIR /app ---&gt; Using cache ---&gt; 6d321d334b8f Step 8/9 : COPY . . ---&gt; 048a59fcdd8f Step 9/9 : CMD ["/app/main"] ---&gt; Running in d50d174644ff Removing intermediate container d50d174644ff ---&gt; 68f8f3c6cdf7 Successfully built 68f8f3c6cdf7 Successfully tagged main_go:latest Creating go ... done Attaching to go go | standard_init_linux.go:190: exec user process caused "exec format error" go exited with code 1 </code></pre> </div>

想要通过使用Go程序运行具有标志和参数的二进制文件

<div class="post-text" itemprop="text"> <p>I want to run a binary file with flags. If i directly run the binary it will be like following inside a golang program.</p> <p><code>./test --flag1 arg1 --flag2 arg2</code></p> <p>I was trying to run by the use of <code>os.exec</code>.</p> <p>code: <code>reslt ,err:= exec.Command("./test","--flag1", "arg1", "--flag2", "arg2").Output</code></p> <p>It is giving error: </p> <blockquote> <p>Exit status 2</p> </blockquote> <p>Can anyone help on this?</p> </div>

删除自己的二进制文件的可能性

<div class="post-text" itemprop="text"> <p>The background here is that I have created an installer in golang (cross-platform but initially targeting windows)</p> <p>I have to run an uninstall process. The last step of this process is to delete my apps binary and another runtime file.</p> <p>My current approach is windows specific and pretty poor- impossible to get confirmation the process has completed- basically im just calling delete from the command line, using ping to create a delay, something like this:</p> <pre><code>cmd := exec.Command("ping 127.0.0.1", "-n", "5", "&gt;", "nul", "&amp;&amp;", "del", os.Args[0]) cmd.Start() os.Exit(0) </code></pre> <p>As I say this works but I would prefer to be able to confirm the process has completed before exiting. My imagined solution would be to launch some kind of in-memory goroutine that can persist beyond the application lifetime without locking the file. - Is this possible?</p> <p>Note - I have also considered creating a second golang app (or a copy of this one) which carries out this deletion from a temp directory (that would at least give me cross-platform) and then let the OS remove that copy but from what I've read windows is not particularly prompt at clearing temp directories so I'm not sure this is ideal either. I would prefer that an install/uninstall cycle leave the machine in the same state it found it</p> <p>Any other suggestions as to how I may achieve this? Cross platform solution would be a bonus.</p> <p><strong>Update</strong> The ping and delete solution I suggested did not in fact work as I hoped (at least not for files within system folders). I solved this by creating a second golang app to run the deletion, I spawn this into a temp folder and then create a run_once entry in the registry to delete that file when the user reboots.</p> <p>I am still not happy with this solution, it feels rather hacky. </p> <p>I have upvoted Adrian for his clarification but would welcome any suggestions for alternative approaches.</p> </div>

运行用Go编写的可执行文件时找不到文件

<div class="post-text" itemprop="text"> <p>If I build <a href="https://github.com/m3europe/procwrap" rel="nofollow">https://github.com/m3europe/procwrap</a> on go 1.7.1 on alpine and try to run the binary on ubuntu trusty I get file not found, and the same if I build on trusty and try to run on alpine. I suspect this is to do with linking somehow but I'm a little out of my depth here having spent most of my career so far in managed execution environments. My seemingly naive understanding is that an AMD64 build should work on any AMD64 linux distro, no? </p> <p>The below Dockerfile demonstrates the issue. The executable downloaded at line 6 was built on golang:1.7.1-alpine image:</p> <pre><code>FROM ubuntu:trusty RUN apt-get update RUN apt-get install -y wget RUN mkdir /procwrap WORKDIR /procwrap RUN wget https://github.com/myles-mcdonnell/procwrap/releases/download/v1.0.0/procwrap.v1.amd64 -O procwrap RUN wget https://raw.githubusercontent.com/myles-mcdonnell/procwrap/master/procwrap.toml -O procwrap.toml RUN chmod +x procwrap CMD ./procwrap -v </code></pre> </div>

使用Delve调试时将参数传递给可执行文件

<div class="post-text" itemprop="text"> <p>I would like to pass arguments to the binary file when executing it with <code>dlv</code></p> <pre><code>dlv --listen=:5432 exec /mypath/binary --config=config.toml </code></pre> <p>But when I am doing it I get following error:</p> <pre><code>Error: unknown flag: --config </code></pre> <p>How can I pass arguments to binary when using dlv debugger?</p> </div>

我可以在OS X上交叉编译ARMv7的GO二进制文件吗?

<div class="post-text" itemprop="text"> <p>I have a GO program and I want to give its binary to a customer for running on RaspberryPi 3. I am cross compiling the GO program on OS X by setting <code>GOARM=7</code> and <code>GOOS=linux</code> in the environment as per the instructions at <a href="https://github.com/golang/go/wiki/GoArm" rel="nofollow">https://github.com/golang/go/wiki/GoArm</a>. However, the binary could not be run on RPi3. It fails with this error.</p> <pre><code>cannot execute binary file: Exec format error </code></pre> <p>I am pretty sure there might be issue in cross-compilation but it's clear what is the issue. Any help is appreciated.</p> </div>

Logrus go软件包将保存到.log文件,并且不会在控制台日志上打印

<div class="post-text" itemprop="text"> <p>Implementing Logrus Go package. File is saved but stopped printing out on the console the logs only visible in created .log file called vendor.log. </p> <p>Here is the code currently using.</p> <pre><code> package logging import ( "fmt" "os" mylog "github.com/sirupsen/logrus" ) // InitializeLogging asdas func InitializeLogging(logFile string) { var file, err = os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) if err != nil { fmt.Println("Could Not Open Log File : " + err.Error()) } mylog.SetOutput(file) //log.SetFormatter(&amp;log.TextFormatter{}) mylog.SetFormatter(&amp;mylog.JSONFormatter{}) } </code></pre> </div>

在macOS上使用GDB调试Go程序

<div class="post-text" itemprop="text"> <p>A simple Go program, say <code>main.go</code>:</p> <pre><code>package main func main() { println("hello, world!") } </code></pre> <p>Then build with </p> <pre><code>go build -gcflags "-N -l" -o main main.go </code></pre> <p>Using GDB:</p> <pre><code>$ gdb main GNU gdb (GDB) 8.2 (...) Reading symbols from main...(no debugging symbols found)...done. Loading Go Runtime support. (gdb) source /usr/local/Cellar/go/1.11/libexec/src/runtime/runtime-gdb.py Loading Go Runtime support. (gdb) info files Symbols from "/Users/changkun/Desktop/demo/main". Local exec file: `/Users/changkun/Desktop/demo/main', file type mach-o-x86-64. Entry point: 0x1049e20 0x0000000001001000 - 0x000000000104dfcf is .text 0x000000000104dfe0 - 0x0000000001077344 is __TEXT.__rodata (...) (gdb) b *0x1049e20 Breakpoint 1 at 0x1049e20 (gdb) </code></pre> <p>There is no <code>at</code> in the GDB outputs, the version of Go is <code>go version go1.11 darwin/amd64</code> and:</p> <pre><code>$ ls -al /usr/local/bin | grep go lrwxr-xr-x 1 changkun admin 24 Aug 25 16:37 go -&gt; ../Cellar/go/1.11/bin/go </code></pre> <p>======</p> <p>Same process in linux environment:</p> <pre><code>docker run -itd --name golang golang:1.11 docker exec -it golang bash </code></pre> <p>then entering container install <code>gdb</code></p> <pre><code>root@1326d3f1a957:/# gdb main GNU gdb (Debian 7.12-6) 7.12.0.20161007-git (...) (gdb) info files Symbols from "/main". Local exec file: `/main', file type elf64-x86-64. Entry point: 0x44a2e0 0x0000000000401000 - 0x000000000044ea8f is .text (...) (gdb) b *0x44a2e0 Breakpoint 1 at 0x44a2e0: file /usr/local/go/src/runtime/rt0_linux_amd64.s, line 8. (gdb) </code></pre> <p>Linux is able to show <code>(gdb) b *0x44a2e0 Breakpoint 1 at 0x44a2e0: file /usr/local/go/src/runtime/rt0_linux_amd64.s, line 8.</code></p> <p>What did I miss in macOS? How can I debug and trace the program on macOS?</p> </div>

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

网上很多的文章和帖子中在介绍秒杀系统时,说是在下单时使用异步削峰来进行一些限流操作,那都是在扯淡! 因为下单操作在整个秒杀系统的流程中属于比较靠后的操作了,限流操作一定要前置处理,在秒杀业务后面的流程中做限流操作是没啥卵用的。

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

Intellij IDEA 美化指南

经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反...

【相亲】96年程序员小哥第一次相亲,还没开始就结束了

颜值有点高,条件有点好

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文 一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...

腾讯面试题: 百度搜索为什么那么快?

我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么 然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉 面试官:这不是我想要的答案 我内心 这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!! 两个字:倒排,将贯穿整篇文章,也是面试官...

你怎么看欧阳娜娜空降阿里p8?

前段时间 欧阳娜娜空降阿里P8被骂上热搜 有网友调侃道: 名牌大学毕业的研究生 要在阿里没日没夜、加班加点、 全年无休奋斗5年,才可能有机会 和20岁的欧阳娜娜一起喝下午茶…… 本来嘛,大厂✖明星的营销无可厚非 那是什么让撸代码N年的程序员愤愤不平呢? 还不是因为升到P8真的太难了! 这是很多阿里人甚至互联网人遥不可及的梦想! 阿里P8到底有多牛? 根据知乎大V@半佛仙人透露的情况: 阿里P8基本上要求研究生 5 年以上经验,本科 7 年以上经验; P8 一般去小公司就是各种 O,一般公司(非国企、.

相关热词 c# 解析cad c#数字格式化万 c#int转byte c#格式化日期 c# wpf 表格 c# 实现ad域验证登录 c#心跳包机制 c#使用fmod.dll c#dll vb 调用 c# outlook
立即提问
相关内容推荐